Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dojo Dgrid行选择不工作,是否正在检索Dgrid选择器的值?_Javascript_Dojo_Dgrid - Fatal编程技术网

Javascript Dojo Dgrid行选择不工作,是否正在检索Dgrid选择器的值?

Javascript Dojo Dgrid行选择不工作,是否正在检索Dgrid选择器的值?,javascript,dojo,dgrid,Javascript,Dojo,Dgrid,目前,我正在使用Dojo dgrid,它带有选择框、文本框和两个复选框,但我无法禁用整行选择,而且当我单击第二个复选框时,dgrid选择和取消选择不工作,它反映了第一个复选框 1.如何在dojo Dgrid中禁用整行选择? 2.单击“保存”时如何获取Dgrid selectbox和Dgrid textbox的值? 3.如果我使用选择器(复选框),我无法呈现该列的标签 var columns = { person :{ sortable: fal

目前,我正在使用Dojo dgrid,它带有选择框、文本框和两个复选框,但我无法禁用整行选择,而且当我单击第二个复选框时,dgrid选择和取消选择不工作,它反映了第一个复选框

1.如何在dojo Dgrid中禁用整行选择? 2.单击“保存”时如何获取Dgrid selectbox和Dgrid textbox的值? 3.如果我使用选择器(复选框),我无法呈现该列的标签

var columns = {                 
    person :{
     sortable: false,
        renderCell: lang.hitch(this, function(object,value,node) {
            if(value == true){
                myTextBox = new dijit.form.TextBox({
                    name: "Amount",
                    value: "" ,
                    placeHolder: "Enter Amount"
                }).placeAt(node);                                   
            }
        })                          
    },
    description:{
        label:"description",
        field:"description",
        sortable: false,
        renderCell : lang.hitch(this, function(object,
                value, node, options) {             
            new Select({
                name : "select",
                options : [ {
                    label : "Daily",
                    value : "daily"
                }, {
                    label : "Weekly",
                    value : "weekly",                                   
                }]
            }).placeAt(node);

        }),

    },
    email : selector({
        sortable:false,
        field:"email"
    })
    /*i tried this instead of using selectors inserting a checkbox so that i can remove complete row selection but not working*/
    email: {
        sortable:false, 
        field:"email",
        renderHeaderCell : function(node) {
            var cellDiv = domConstruct.create("label", {
                innerHTML : "Email"
            }, node);                           
                var checkBox = new CheckBox({
                    name: "checkBox",
                    id:"emailAddress",
                    checked: false,             
            }, cellDiv);
        },
        renderCell:createMessageLabel                                           
    }   

};  

function createMessageLabel(object,value, node,options){
    console.log("node option",node);
        var checkbox = new CheckBox({
        name: "checkBox",
        id:"emailAddress",
        checked: false,                         
    }).placeAt(node);                   
};



var grid = new GridView().show(gridData, columns, "",
        "dgridAutoHeight", true);
function addSelection(self, event) {

    console.log("Row selected: ", event.rows[0].data);
}
function removeSelection(self, event) {

    console.log("Row deselected: ", event.rows[0].data);
}
grid.startup();


grid.on("dgrid-select", lang.hitch(grid, addSelection, this), true);
grid.on("dgrid-deselect", lang.hitch(grid, removeSelection, this), true);

希望我能得到一些有价值的答案……

要禁用直接选择,请在传递给构造函数的属性中设置
selectionMode:“none”
。这不会影响通过
选择器
列进行的选择

通过在传递给
选择器
列插件的对象中设置
标签
属性,您仍然可以在选择器列的标题单元格中设置标签


如果您想使用Dijit表单小部件来更改项中字段的值,您可能不应该自己定义
renderCell
函数,而是使用,当您调用
save

要禁用直接选择,请在传递给构造函数的属性中设置
selectionMode:“none”
,以维护数据状态并将其放回存储区。这不会影响通过
选择器
列进行的选择

通过在传递给
选择器
列插件的对象中设置
标签
属性,您仍然可以在选择器列的标题单元格中设置标签


如果您想使用Dijit表单小部件来更改项中字段的值,您可能不应该自己定义
renderCell
函数,而是使用,当您调用
save

要禁用直接选择,请在传递给构造函数的属性中设置
selectionMode:“none”
,以维护数据状态并将其放回存储区。这不会影响通过
选择器
列进行的选择

通过在传递给
选择器
列插件的对象中设置
标签
属性,您仍然可以在选择器列的标题单元格中设置标签


如果您想使用Dijit表单小部件来更改项中字段的值,您可能不应该自己定义
renderCell
函数,而是使用,当您调用
save

要禁用直接选择,请在传递给构造函数的属性中设置
selectionMode:“none”
,以维护数据状态并将其放回存储区。这不会影响通过
选择器
列进行的选择

通过在传递给
选择器
列插件的对象中设置
标签
属性,您仍然可以在选择器列的标题单元格中设置标签


如果您想使用Dijit表单小部件来更改项中字段的值,您可能不应该自己定义
renderCell
函数,而是使用,它负责维护数据状态,并在您呼叫
save

时将其放回存储区。非常感谢Ken的宝贵回答,正如您所说,编辑器非常适合上述情况……但我还有一个疑问,比如我们不能在渲染器中使用用户编辑器吗?我需要datachange上的textbox,因此我想到在rendercell中使用编辑器…下面的代码工作正常,但textbox未被放置在特定节点中(textbox视图未被渲染),该节点的值为“True”


非常感谢Ken的宝贵回答,正如您所说,编辑器非常适合上述情况……但我还有一个疑问,比如我们不能像下面这样在renderCell中使用用户编辑器,因为我需要数据更改时textbox的值,所以我想在renderCell中使用编辑器……下面的代码工作正常,但textbox不正常将其放置在特定节点内(文本框视图不会被渲染),该节点的值为“True”


非常感谢Ken的宝贵回答,正如您所说,编辑器非常适合上述情况……但我还有一个疑问,比如我们不能像下面这样在renderCell中使用用户编辑器,因为我需要数据更改时textbox的值,所以我想在renderCell中使用编辑器……下面的代码工作正常,但textbox不正常将其放置在特定节点内(文本框视图不会被渲染),该节点的值为“True”


非常感谢Ken的宝贵回答,正如您所说,编辑器非常适合上述情况……但我还有一个疑问,比如我们不能像下面这样在renderCell中使用用户编辑器,因为我需要数据更改时textbox的值,所以我想在renderCell中使用编辑器……下面的代码工作正常,但textbox不正常将其放置在特定节点内(文本框视图不会被渲染),该节点的值为“True”


你好,肯,非常感谢你的宝贵回答。编辑在上述情况下工作得非常出色,但我对rendercell内部的编辑有疑问。请查看下面的回复,希望你能帮助我解决问题。你好,肯,非常感谢你的宝贵回答。编辑在上述情况下工作得非常出色,但是我对rendercell内部的编辑有疑问,请查看下面的回复,希望你能帮助我解决问题。嗨,Ken,非常感谢你的宝贵回答。编辑在上述情况下工作得非常完美。但是我对rendercell内部的编辑有疑问,请查看下面的回复,希望你能帮助我解决问题。嗨,Ken,非常感谢你的宝贵回答1.编辑为阿博夫做了完美的工作
    dollarThresholdAvailable :{
                    field: "dollarThresholdAvailable",
                    label : "Threshold Limit",
                     sortable: false,   
                     "class":"dollarThresholdAvailableValue",   
                        renderCell: lang.hitch(this, function(object,value,node) {  
                            if(value === true){
                                editor({                                             
                                      field: "dollarThresholdAvailable",
                                      sortable: false                         
                                    },TextBox).placeAt(node);
                            }
                        }),         
                }