2013-05-29 40 views
1

這是我的第一篇文章,如果我做了任何錯誤/次優的請讓我知道。當行可編輯時,igGrid錨點變得無法訪問

我有一個igGrid傳遞生成的html代碼,使一列成爲一個標記。如果行不可編輯,這很好用。我也在同一行中有一列,我希望能夠編輯。如果我允許在該行上進行編輯,則標籤不再起作用,因爲該行上的任何點擊都會進入編輯模式。有沒有辦法只允許在一列上編輯?我禁用了編輯不想編輯的列的編輯,但點擊其中的任何一個仍然會將整行插入編輯模式,只允許允許的列可編輯。

樣本行可能看起來像:

Filename = "<a href='path/Permit/DownloadFile?permitFileID=23'>filename.txt</a>" 

Note = "file notes" 

Email = "[email protected]" 

AddedTime = "2013/05/14" 

PermitFileID = "23" 

我希望能夠編輯筆記列,仍然可以按文件名稱列。

這裏是我的代碼:

$(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} }, 
    ] 
}, 

回答

3

我得到這個想通了,編輯模式需要的是 「細胞」 和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();