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