这是我的第一篇文章,如果我做错了什么/次优,请告诉我。
我有一个传递生成的html代码的igGrid,使一列成为标记。如果行不可编辑,则此方法很有用。我还希望能够编辑同一行中的列。如果我允许对该行进行编辑,则该标记不再起作用,因为该行上的任何单击都会将该行进入编辑模式。有没有办法只允许在一列上编辑?我已禁用对我不想编辑的列的编辑,但点击其中任何一列仍然会将整行输入编辑模式,只允许列可编辑。
示例行可能如下所示:
Filename = "<a href='path/Permit/DownloadFile?permitFileID=23'>filename.txt</a>"
Note = "file notes"
Email = "email@gmail.com"
AddedTime = "2013/05/14"
PermitFileID = "23"
我希望能够编辑notes列,但仍然可以单击文件名列。
这是我的代码:
$(document).ready(function()
{
$('#attachedFilesGrid').igGrid(
{
columns:
[
{ headerText:"File Name", key: "FileName", dataType: "text"},
{ headerText:"Notes", key:"Note", dataType:"text"},
{ headerText:"Uploaded By", key:"Email", dataType:"text"},
{ headerText:"Date", key:"AddedTime", dataType:"date", format: "yyyy/MM/dd"},
{ headerText:"ID", key:"PermitFileID", dataType:"number"},
],
width:'700px',
dataSource: fileList,
autoCommit:true,
primaryKey:"PermitFileID",
features:
[{
name:"Updating",
enableDeleteRow:true,
rowDeleting:function(evt, ui)
{
$.post(BASEURL + "Permit/deleteFile", { "permitFileID": ui.rowID});
},
editRowEnded:function(evt, ui)
{
note = $("#attachedFilesGrid").igGrid( "getCellText", ui.rowID, "Note");
$.post(BASEURL + "Permit/updatePermitFileNotes", { "permitFileID": ui.rowID, "note": note });
},
enableAddRow:false,
editMode:"row",
columnSettings: [
{ columnKey:"FileName", editorOptions: { disabled: true} },
{ columnKey:"Note", editorOptions: { disabled: false} },
{ columnKey:"Email", editorOptions: { disabled: true} },
{ columnKey:"AddedTime", editorOptions: { disabled: true} },
{ columnKey:"PermitFileID", editorOptions: { disabled: true} },
]
},
答案 0 :(得分:3)
我弄清楚这一点,editMode需要是“cell”并且这样设置了columnSettings:
$('#attachedFilesGrid').igGrid(
{
columns:
[
{ headerText: "File Name", key: "FileName", dataType: "text"},
{ headerText: "Notes", key:"Note", dataType:"text"},
{ headerText: "Uploaded By", key:"Email", dataType:"text" },
{ headerText: "Date", key:"AddedTime", dataType:"date", format: "yyyy/MM/dd" },
{ headerText: "ID", key:"PermitFileID", dataType:"number"},
],
width: '700px',
dataSource: fileList,
autoCommit: true,
primaryKey: "PermitFileID",
features:
[{
name: "Updating",
enableDeleteRow: true,
rowDeleting: function (evt, ui)
{
$.post(BASEURL + "Permit/deleteFile", { "permitFileID": ui.rowID});
},
editCellEnded: function (evt, ui)
{
note = $("#attachedFilesGrid").igGrid( "getCellText", ui.rowID, "Note");
$.post(BASEURL + "Permit/updatePermitFileNotes", { "permitFileID": ui.rowID, "note": note });
},
enableAddRow: false,
editMode: "cell",
columnSettings: [
{ columnKey: "FileName", readOnly: true },
{ columnKey: "Note", editorOptions: {disabled: false}},
{ columnKey: "Email", readOnly: true },
{ columnKey: "AddedTime", readOnly: true },
{ columnKey: "PermitFileID", readOnly: true },
]
},
{
name: "Hiding",
columnSettings: [
{ columnKey: "FileName", allowHiding: false },
{ columnKey: "Note", allowHiding: false },
{ columnKey: "Email", allowHiding: false },
{ columnKey: "AddedTime", allowHiding: false },
{columnKey: "PermitFileID", allowHiding: false, hidden: true}
]
}],
});
getFiles();