首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >禁用datagrid/enhancedgrid中的特定行

禁用datagrid/enhancedgrid中的特定行
EN

Stack Overflow用户
提问于 2012-08-24 13:44:39
回答 2查看 2.8K关注 0票数 0

我想通过以下方式禁用datagrid中的特定行:

1)用不同的颜色突出显示一行

2)禁用该行的复选框/单选按钮选择

3)禁用对该行中存在的单元格的内联编辑,但允许对其他行进行内联编辑。

请给我。如果你有任何想法,请帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-29 17:43:41

您可以组合使用以下函数来提取内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// as example, one of youre items uses identifier:'id' and 'id:10'
var identifier = '10'; 
var item = store._arrayOfTopLevelItems[10]; // you probably have this allready
var index = grid.getItemIndex(item);   // find which index it has in grid
var rowNode = grid.getRowNode(index);  // find a DOM element at that index

您将拥有作为rowNode<div>,它包含一个包含单元格的表(与您获得的列数一样多)。设置其background-color

checkbox这件事,你可以很清楚地知道它有哪个单元格索引

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var cellNode = dojo.query('td[idx='+cellIndex+']', rowNode)[0];
// with cellType Bool, td contains an input
var checkbox = cellNode.firstChild;

编辑其实是另一家商店..在焦点处理程序中工作。要覆盖它,你必须像一个数组一样保存你不想要编辑的行(所有的都是cell.editable == true)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function inarray(arr, testVal) {
    return dojo.some(arr, function(val) { return val == testVal }).length > 0
}
grid.setNonEditable = function (rowIndex) {
    if(! inarray(this.nonEditable,rowIndex) ) 
           this.nonEditable.push(rowIndex);
}
grid.setEditable = function (rowIndex) {
    this.nonEditable = dojo.filter(this.nonEditable, function(val) { return val != rowIndex; });
}
var originalApply = grid.onApplyEdit
grid.onApplyEdit = function(inValue, inRowIndex) {
   if(! inarray(this.nonEditable,inRowIndex) )
        originalApply.apply(this, arguments);
}
票数 1
EN

Stack Overflow用户

发布于 2014-04-30 09:04:48

如果您使用的是dojox.grid.DataGrid,则可以使用canEdit函数禁用行编辑或单元格编辑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grid = new dojox.grid.DataGrid({
    canEdit: function(inCell, inRowIndex) {
        var item = this.getItem(inRowIndex);
        var value = this.store.getValue(item, "name");
        return value == null; // allow edit if value is null
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12110648

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文