以下のように設定されたjQueryデータテーブルがあります。document.ready 関数で編集可能にしました。現在ログインしているユーザーの役割に基づいて、追加/削除/更新機能を制御しようとしています。これら 2 つのボタンに無効な属性を追加することで、追加/削除操作に対してこれを行うことができます。document.ready 関数には、EnableUserAddDeleteButtons() 関数があります。これは、ユーザーの役割をチェックし、許可されたユーザーの場合は「無効」属性を削除してボタンを有効にします。しかし、ユーザーが許可されていないときにすべてのセルを読み取り専用にする方法がわかりません。何か案は?助けてくれてありがとう。
<script type="text/javascript">
$(document).ready(function () {
$('#UserDataTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers"
}).makeEditable({
"aoColumns": [{}, {}, {}, {},
{
type: 'select',
onblur: 'submit',
data: "{'True':'True', 'False':'False'}"
},
{
type: 'select',
onblur: 'submit',
data: "{'True':'True', 'False':'False'}"
},
{
type: 'select',
onblur: 'submit',
data: "{'True':'True', 'False':'False'}"
}],
sUpdateURL: "/Admin/UpdateUser"
sAddURL: "/Admin/InsertUser"
sDeleteURL: "/Admin/DeleteUser"
sAddNewRowFormId: "formAddNewUser",
sAddNewRowButtonId: "btnAddNewUser",
sAddNewRowOkButtonId: "btnAdd",
sAddNewRowCancelButtonId: "btnCancel",
sDeleteRowButtonId: "btnDeleteUser",
fnShowError: function (message, action) {
switch (action) {
case "update":
jAlert(message, "Update failed");
break;
case "delete":
jAlert(message, "Delete failed");
break;
case "add":
$("#lblAddError").html(message);
$("#lblAddError").show();
break;
}
},
fnStartProcessingMode: function () {
$("#processing_message").dialog();
},
fnEndProcessingMode: function () {
$("#processing_message").dialog("close");
}
});
EnableUserAddDeleteButtons();
});
</script>