javascript - 如何从 yupgrid 中删除或禁用添加行和删除行操作按钮?
问题描述
我正在使用 yup 网格进行客户端数据输入。默认情况下,它具有操作列(包含添加行和删除行按钮)。我的要求是仅向特定用户显示添加行和删除行操作按钮。对于未经授权的用户,我什至不想要操作列。我在这里搜索了很多文档,但找不到任何解决方案。请帮助我。
var data = [];
var ddlData = [{ "ratingID": "1","rating": "1"}, {"ratingID": "2","rating": "2"}, {"ratingID": "3","rating": "3"}];
var gridObject = [];
var options = {
tableID: "appList",
debugLog: false,
singleClickEdit: true,
allowEmptyRows: false,
autoStyle: true,
onRowChange: function (e) {
//save data
$.ajax({
type: "POST",
url: "url",
data: {
data: JSON.stringify(e.yupObj.data[e.dataRowIndex]),
isNew: e.yupObj.data[e.dataRowIndex].isNew()
},
success: function (data) {
}
});
},
columns: [{
headerText: 'App',
columnName: "appName",
dataType: "any",
dataValueMember: 'appName',
dataTextMember: 'appName',
hidden: false
},
{
headerText: 'Type',
columnName: "rating",
dataType: "any",
dataValueMember: 'ratingID',
dataTextMember: 'rating',
hidden: false,
inputControl: {
controlType: 'select',
dataTextMember: 'rating',
dataValueMember: 'ratingID'
}
},
{
headerText: 'App ID',
columnName: "appID",
dataType: "any",
dataValueMember: 'appID',
dataTextMember: 'appID',
hidden: true
},
{
headerText: 'Category',
columnName: "categoryID",
dataType: "any",
dataValueMember: 'categoryID',
dataTextMember: 'categoryID',
hidden: true
}
]
}
$(document).ready(function () {
gridObject = yupGrid(options);
options.columns[1].dataSource = ddlData;
options.columns[1].bindData();;
gridObject.bindData(data);
});
解决方案
在 onBindDataComplete 事件中使用以下代码。当 bindData 完成数据加载时触发该事件。
yupObj.onBindDataComplete = function(){
$('#appList tr td .grid-row-icon-a[id*="addRow_"]').remove();
};
同样,您也可以删除删除按钮。
或者,您可以使用onBeforeRowDelete和onRowInsert事件来限制行的添加或删除。
推荐阅读
- flutter - Flutter AnimatedList 在删除时显示错误的索引
- javascript - 是否可以访问 Javascript 中的私有作用域变量或方法?
- google-cloud-platform - 对聚合列进行分区 BigQuery 物化视图
- swift - 在 Swift 中替换许多字符串
- go - Golang Singleton 用于微服务的所有副本
- .htaccess - 301 htaccess 使用 3 个参数重定向到静态 url
- kubernetes - microk8s 中的私有 docker.io 注册表
- c# - mac和linux上常量字符串值的编码不同
- node.js - MongoDB Atlas异常:连接失败
- web-scraping - 如何使用 Scrapy 自动获取请求标头?