将dgrid与对话框连接

时间:2012-05-04 10:55:42

标签: javascript dojo event-handling dgrid

嗨,这是我的dGrid html的鳕鱼:

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

我使用以下内容将它们连接起来:

dojo.global.segmentSelectOptions = function(object){

    var opts = [{
        'label': 'seg1',
        'value': 'seg1'
    }, {
        'label':'New Segment...',
        'value':'new'
    }, {
        'label': 'seg2',
        'value': 'seg2'
    }];

    return { onChange: function(newValue){
        if(newValue=='new'){
            var dlg =  dijit.getWidget('CreateFolder','dijit.Dialog');
            dlg.show();

        }
    }, 
    class: "fullWidthWidget", 
    options: opts};
};

您可以看到此代码,打开一个对话框。现在,当我按下对话框上的特定按钮并根据对话框中的输入更改单元格的值时,我想访问我在dgrid中选择的单元格。如何从该功能访问单元格?问题是它可能是dgrid中的任何单元格而且它们没有使用dijit.byId();

的ID

请帮帮我!

1 个答案:

答案 0 :(得分:0)

解决方案是从对话框的hide()回调到改变网格的函数。但是,在使用商店的put()语句之前,您需要使用此行:

grid.dirty = {};