- 注册时间
- 2014-11-18
- 最后登录
- 1970-1-1
- 阅读权限
- 10
- 积分
- 66
- 精华
- 0
- 帖子
- 6

|
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;
}
}
|
|