当我单击Telerik RadGrid上的一行时,我可以触发以下方法。我可以引用任何列,例如项目[“描述”]
问题:如何引用'Id'的
的DataKeyName<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataSourceID="LinqDataSource1" GridLines="None" OnItemDataBound="materialsGrid_ItemDataBound" OnItemCommand="RadGrid1_ItemCommand">
<ClientSettings EnableRowHoverStyle="true" AllowKeyboardNavigation="true" EnablePostBackOnRowClick="true">
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView DataKeyNames="Id" DataSourceID="LinqDataSource1" CssClass="listItems"
Width="98%">
protected void RadGrid1_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
GridDataItem item = (GridDataItem)e.Item;
string str = item["Description"].Text;
var Id = item["Id"];
答案 0 :(得分:0)
<telerik:GridBoundColumn DataField="Id" HeaderText="Id" SortExpression="Id" Visible="false"
UniqueName="Id">
</telerik:GridBoundColumn>
protected void dave_ItemCommand(object source, GridCommandEventArgs e)
{
GridDataItem item = (GridDataItem)e.Item;
Guid Id = new Guid(item["Id"].Text);
我作弊并使用了隐藏的专栏。必须有一个更好的方法,但这可以使它工作!
答案 1 :(得分:0)
在使用RadGrid的两年中,我总是使用一个隐藏的列,一种痛苦,但这就是他们[Telerik]告诉我使用它的方式。
答案 2 :(得分:0)
我看到你将ID字段添加到主表的DataKeyNames中 - 为什么不使用DataKeyValues从网格行中获取id值?请参阅this article了解新手。
迪克