我正在使用yup grid进行客户端数据输入。它默认是有动作列(包含增行和删行按钮)。我的要求是只向特定用户显示添加行和删除行操作按钮。对于未经授权的用户,我甚至不想要actions列。我在文档here中搜索了很多,但没有找到任何解决方案。请在这方面帮帮我。
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);
});发布于 2020-05-31 06:54:40
在onBindDataComplete事件中使用以下代码。此事件在bindData完成数据加载时触发。
yupObj.onBindDataComplete = function(){
$('#appList tr td .grid-row-icon-a[id*="addRow_"]').remove();
};同样,您也可以删除删除按钮。
或者,您可以使用onBeforeRowDelete和onRowInsert事件来限制添加或删除行。
https://stackoverflow.com/questions/62106789
复制相似问题