2016-07-01 66 views
1

這是我用於刪除功能的代碼。從Telerik Radgrid中刪除一行。我如何獲得所選行的索引?

在RadgridItemdatabound funtion,我必須包括這...

foreach (GridColumn col in RadGrid1.MasterTableView.Columns) 
       { 
        dataItem["TemplateDeleteColumn"].Attributes.Add("onclick","CellClick('" + dataItem.ItemIndex + "','" + col.UniqueName + "');"); 
       } 

然後我要創建Itemcommand功能。

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) 
    { 
     if (e.CommandName == "DeleteSelected") 
     { 
      GridDataItem item = (GridDataItem)e.Item; 
      var itemIndex = item.ItemIndex; 
      string LoginId = item.GetDataKeyValue("LoginId").ToString(); 
      Int32 CampusCode = Convert.ToInt32(item.GetDataKeyValue("CampusCode")); 


      Definations def = new Definations(); 
      Int32 Result = def.deleteUserAssignCampus(LoginId, CampusCode); 
      if (Result == 1) 
      { 
       BindDeptDatasimple(); 

       cmbColumName.SelectedValue = ""; 
       cmbDirection.SelectedValue = ""; 
       Response.Redirect("UserCampus.aspx", false); 
       Session["deleteUserCampus"] = "Campus dissociated successfully."; 
      } 
     } 
    } 

我無法在「var ItemIndex」中獲取所選行的索引。 它始終返回ItemIndex中的零索引。這就是爲什麼網格的第一行被刪除。我如何獲得選定行的選定索引?

回答

0

項目索引將默認爲0,因爲在您的情況下,您通過MasterTableView的客戶端對象方法引發自定義命令 。

您將必須確保在您的自定義JS函數CellClick中,通過第二個參數將項目索引傳遞到fireCommand客戶端方法。

masterTable.fireCommand("DeleteSelected", itemIndex); 

然後在RadGrid1_ItemCommand事件處理程序,您可以檢索這樣

GridDataItem item = (GridDataItem)e.Item; 
var itemIndex = e.CommandArgument; 
的索引值
相關問題