我有一个包含模板列的RadGrid我已经为编辑和删除操作添加了两个图像按钮。
<telerik:GridTemplateColumn HeaderText="Actions">
<ItemTemplate>
<asp:ImageButton ID="btnEdit" runat="server" ImageUrl="~/images/icon_edit.png" style="display: inline-block" ToolTip="Edit" /> <asp:ImageButton ID="btnDelete" runat="server" ImageUrl="~/images/icon_delete.png" style="display: inline-block" ToolTip="Delete" />
</ItemTemplate>
</telerik:GridTemplateColumn>
当我点击“删除”按钮时,如何获取行的第一个单元格的值(datafield =“User_ID”)?
答案 0 :(得分:7)
第1步。
转到Radgrid本身并编辑字段DataKeyNames =“”(在MasterTableView下)并添加您要拉的数据字段:
<MasterTableView ... DataKeyNames="User_ID">
第2步。 编辑位于网格中的图像按钮的CommandName =“”属性:
<asp:ImageButton ID="btnDelete" runat="server" style="display: inline-block" ToolTip="Delete" CommandName="dosomething"/>
为Radgrid创建以下方法并添加以下代码:
protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == "dosomething")
{
//Use a line of code here to save that User_ID that you want from the first column
theUserId = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["User_ID"];
}
}
确保theUserId =相同的类型(int,double,dec ...)作为它所从的字段,或者你必须解析它:
theUserId = Int.Parse(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["User_ID"]);
如果您需要更多帮助,请与我联系。
答案 1 :(得分:2)
请查看以下代码段。
<MasterTableView DataKeyNames="ID">
<Columns>
<telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Actions">
<ItemTemplate>
<asp:Button ID="btnEdit" runat="server" ToolTip="Edit" CommandName="Edit" /> <asp:Button
ID="btnDelete" runat="server" ToolTip="Delete" CommandName="Delete" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
.........................
protected void grdCompCliente_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
GridDataItem item = e.Item as GridDataItem;
string ID = item.GetDataKeyValue("ID").ToString();
string Name = item["Name"].Text;
}
else if (e.CommandName == "Delete")
{
GridDataItem item = e.Item as GridDataItem;
string ID = item.GetDataKeyValue("ID").ToString();
string Name = item["Name"].Text;
}
}