jQuery MiniUI

标题: datagrid celleditenter addrow带有数据结构的不行 [打印本页]

作者: sun1711    时间: 2014-12-2 11:04:18     标题: datagrid celleditenter addrow带有数据结构的不行

datagrid控件,我想在OnCellEditEnter时新增行(带有数据结构的行)。怎么试都不行。代码:
<div id="orgNewPanel_Org_Grid_1" showcolumns="true" showpager="false" class="mini-datagrid"
            style="width: 100%; margin: 0px; padding: 0px;" idfield="id" showpager="false"
            allowcelledit="true" allowcellselect="true" editnextonenterkey="true" virtualscroll="true"

            editnextrowcell="true">
            <div property="columns">
                <div property="columns" headeralign="center">
                    Org1
                    <div property="columns">
                        <div field="Org1" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org1Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
                <div property="columns" headeralign="center">
                    Org2
                    <div property="columns">
                        <div field="Org2" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org2Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
                <div property="columns" headeralign="center">
                    Org3
                    <div property="columns">
                        <div field="Org3" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org3Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
                <div property="columns" headeralign="center">
                    Org4
                    <div property="columns">
                        <div field="Org4" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org4Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
                <div property="columns" headeralign="center">
                    Org5
                    <div property="columns">
                        <div field="Org5" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org5Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
                <div property="columns" headeralign="center">
                    Org6
                    <div property="columns">
                        <div field="Org6" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org6Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
                <div property="columns" headeralign="center">
                    Org7
                    <div property="columns">
                        <div field="Org7" width="80" headeralign="center">
                            Code<input property="editor" class="mini-textbox" maxlength="50" style="width: 100%;"
                                minwidth="80" /></div>
                        <div type="checkboxcolumn" field="Org7Check" truevalue="1" falsevalue="0" width="60"
                            headeralign="center">
                            Checked
                        </div>
                    </div>
                </div>
            </div>
        </div>


    var orgNewRowDataStruct = { Org1: "", Org1Check: 0,
        Org2: "", Org2Check: 0,
        Org3: "", Org3Check: 0,
        Org4: "", Org4Check: 0,
        Org5: "", Org5Check: 0,
        Org6: "", Org6Check: 0,
        Org7: "", Org7Check: 0
    };

    function orgNewPanel_Org_Grid_OnCellEditEnter(e)
    {
        if (e.sender.textField == "text")
        {
            var gridId = e.sender.id;
            var index = mini.get(gridId).indexOf(e.record);
            if (index == mini.get(gridId).getData().length - 1)
            {
                var newAA = {};
                //mini.get("orgNewPanel_Org_Grid_1").addRow(orgNewRowDataStruct, 0);//不行
                mini.get(gridId).addRow(newAA);//可以
            }
        }
    }


这里奇怪的是,我在页面加载时,写的grid.addrow可以的。
    $(document).ready(function ()
    {
        mini.get("orgNewPanel_Org_Grid_1").addRow(orgNewRowDataStruct, 0);
        mini.get("orgNewPanel_Org_Grid_1").beginEditCell(orgNewRowDataStruct, "Org1");
    });

这里必须要指定数据结构,因为我在OnCellBeginEdit里面有验证:
function orgNewPanel_Org_Grid_OnCellBeginEdit(e)
    {
        var record = e.record, field = e.field;
        if ((field == "Org1Check" && record.Org1 == ""))
        {
            e.cancel = true;
        }
        else if ((field == "Org2Check" && record.Org2 == ""))
        {
            e.cancel = true;
        }
        else if ((field == "Org3Check" && record.Org3 == ""))
        {
            e.cancel = true;
        }
        else if ((field == "Org4Check" && record.Org4 == ""))
        {
            e.cancel = true;
        }
        else if ((field == "Org5Check" && record.Org5 == ""))
        {
            e.cancel = true;
        }
        else if ((field == "Org6Check" && record.Org6 == ""))
        {
            e.cancel = true;
        }
        else if ((field == "Org7Check" && record.Org7 == ""))
        {
            e.cancel = true;
        }
        else
        {
            e.cancel = false;
        }
    }



作者: sun1711    时间: 2014-12-2 11:23:52

问题已解决。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2