2013-07-02 50 views
0

我正在製作一個漂亮的網格,並且需要能夠使用代碼列添加行。爲了使這成爲可能,代碼列需要對整個表格可編輯。Slickgrid,在編輯之前確認

我想解決一個方法,我可以用標準的javascript確認彈出框來確認編輯。我試着把一個放入slickgrid構造函數中的onedit事件,並在編輯後執行。

我被引導認爲編輯功能獨立於調用數據庫的編輯存儲過程。有沒有更好的方法來解決這個問題?

RF_tagsTable = new IndustrialSlickGrid(
    LadlesContainerSG 
    , { 
     URL: Global.DALServiceURL + "CallProcedure" 
    , DatabaseParameters: { Procedure: "dbo.TableRF_tags" , ConnectionStringName: Global.ConnectionStringNames.LadleTracker } 
    , Title: "RF tags" 
    , Attributes: { 
      AllowDelete: true 
     , defaultColumnWidth: 120 
     , editable: true 
     , enableAddRow: true 
     , enableCellNavigation: true 
     , enableColumnReorder: false 
     , rowHeight: 25 
     , autoHeight: true 
     , autoEdit: false 
     , forceFitColumns: true 
    } 
    , Events: { 
     onRowEdited : rowEdited 
        /*function(){ //this is my failed attempt 
         var r=confirm("Edit an existing tag?") 
         if (r){ 
          alert(r); 
         } else { 
          alert(r); 
         } 
        }*/ 
     , onRowAdded : rowAdded 
    } 
}); 

回答

0

如果我正確理解你的問題(您想將你的價值到電網之前,確認您的編輯),你應該寫你的代碼列的自定義編輯器。 然後你有絕對控制用戶輸入。

您也可以攔截所有細胞編輯和完全掌控 如何以及何時這些修改被通過設置editCommandHandler網格選項指定自定義處理程序 承諾。

請參閱this作進一步參考。

+0

嗯,是的,這就是我想做的事,但我一直在尋找到你的進一步引用(非常有幫助謝謝)我熱的另一面牆上。我試圖使用他們用於撤消的方法,只是使用確認提示而不是按鈕。這需要在此列表中找到的選項'editCommandHandler': https://github.com/mleibman/SlickGrid/wiki/Grid-Options 我使用的工業光滑網格非常相似,它具有屬性部分,不是一個選項部分,這個選項阻止我的表加載。 – Evan

0

您可以使用OnBeforeEdit

 
grid.onBeforeEditCell.subscribe(function(e,args) { 
    \\if true is returned it will edit the cell othewise not 
    } 
});