Javascript 使用对话框连接dgrid
您好,这是我的dGrid html的cod:Javascript 使用对话框连接dgrid,javascript,dojo,event-handling,dgrid,Javascript,Dojo,Event Handling,Dgrid,您好,这是我的dGrid html的cod: <table id="Assign_Segments" class="dGrid" dojoType="dgrid.GridFromHtml" style="width:700px"> <tbody> <tr> <th data-dgrid-column="{field:'InputCel
<table id="Assign_Segments" class="dGrid"
dojoType="dgrid.GridFromHtml" style="width:700px">
<tbody>
<tr>
<th data-dgrid-column="{field:'InputCell', sortable:true}">
<bean:message key="IDD_POPSEG_PAGE.IDC_LBL_INPUTCELL" bundle="flowchart"/>
</th>
<th data-dgrid-column="dgrid.Editor({field:'Segment',
sortable:false, widgetArgs: segmentSelectOptions}, dijit.form.Select, 'click')">
<bean:message key="IDD_POPSEG_PAGE.IDC_LBL_SEGNAME" bundle="flowchart"/></th>
</tr>
</tbody>
</table>
正如您所看到的,这段代码打开了一个对话框。现在,当我按下对话框上的特定按钮并根据对话框中的输入更改单元格的值时,我想访问我在dgrid
中选择的单元格。如何从该功能访问单元格?问题是它可以是dgrid中的任何单元格,并且它们没有id来使用dijit.byId()代码>
请帮帮我 解决方案是从对话框的hide()回调一个函数,在该函数中修改网格。但是,在使用存储的put()语句之前,需要使用此行:
grid.dirty = {};
为什么不将网格(或单元格,如果愿意)作为对话框的参数传递?我将扩展dijit.Dialog来创建一个支持网格参数的自定义对话框,这将允许您使用自己的函数扩展对话框来操作网格,直到将单元格传递给对话框为止,我已经尝试过了,但是当我尝试设置其值时,我收到一个错误,说无法设置innerHTML的null
。如果单元格参数为null,则表示您没有正确地传递它:)无论如何,尝试扩展对话框,并在其中添加您自己的内容,这将使您的生活更轻松。如果它不是null,我已经检查过了。这只是因为我试图设置值的函数是在对话框即将关闭时调用的,而不是在对话框关闭时调用的。因此,dojo无法正确定位dom节点。我将研究遗产,但不确定如何做到这一点。
grid.dirty = {};