2016-07-01 37 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; 
的索引值
相关问题