2012-03-01 55 views
2

我有一個telerik radgrid並添加了一個GridClientSelectColumn,允許用戶選擇單行或多行,但默認爲ctrl點擊選擇多個。Telerik radgrid和GridClientSelectColumn如何使用「點擊」而不是「Ctrl點擊」)

我想要下面的功能,而不必用我自己的JavaScript重寫這個。

  • 用戶點擊行復選框被選中上選中行復選框
  • 用戶點擊未選中
  • 用戶點擊行,然後另一行。這兩個複選框都會被檢查。
  • 用戶不必用「Ctrl單擊」

是否有一個簡單的方法來做到這一點?

回答

3

我在telerik論壇的幫助下處理了這個問題。

Forum post

下面的代碼添加到RadCodeBlock

var originalClickedRowState = null; 
var clickedRow = null; 

function rgGrid_OnRowClick(sender, args) { 
    clickedRow = args.get_gridDataItem(); 
    originalClickedRowState = args.get_gridDataItem().get_selected(); 
} 

function rgGrid_OnRowDeselecting(sender, args) { 
    if (clickedRow != null && clickedRow != args.get_gridDataItem()) { 
      args.set_cancel(true); 
    } 
} 

function rgGrid_OnRowSelecting(sender, args) { 
    if (clickedRow == args.get_gridDataItem() && originalClickedRowState) { 
     args.set_cancel(true); 
     originalClickedRowState = null; 
     clickedRow = null; 
    } 
} 

function rgGrid_OnRowSelected(sender, args) { 
    originalClickedRowState = null; 
    clickedRow = null; 
} 

一個小問題,就是你需要的電纜鋪設OnRowCreatingOnRowCreated事件網格ClientSettings.ClientEvents

function OnRowCreating(sender, args) {} 
function OnRowCreated(sender, args) {} 
+0

這是如何工作的標題「全選」checkb牛? – Shawn 2013-06-26 13:02:49

+0

選擇全部仍然有效。這只是刪除了按Ctrl鍵點擊選擇許多chackboxes的需要 – skyfoot 2013-06-27 14:27:14