开发者

Telerik Grid - Referencing a Selected Item

开发者 https://www.devze.com 2023-01-11 01:27 出处:网络
When I click a row on my Telerik RadGrid, I can fire the following method.I can reference any of the columns eg item[\"Description\"]

When I click a row on my Telerik RadGrid, I can fire the following method. I can reference any of the columns eg item["Description"]

Problem: How to reference the DataKeyName of 'Id'

<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns="False" DataSourceID="LinqDataSource1" GridLines="None" OnItemDataBound="materialsGrid_ItemDataBound" OnItemCommand="RadGrid1_ItemCommand">
            <ClientSettings EnableRowHove开发者_开发问答rStyle="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"];


In two years of using RadGrid I've always used a hidden column, a pain but that's the way they [Telerik] have told me to use it.


<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);

I cheated and used a hidden column. There has to be a better way, however this gets it working!


I see that you added the ID field to the DataKeyNames of the master table - why not using DataKeyValues to get the id values from the grid rows? See this article for a headstart.

Dick

0

精彩评论

暂无评论...
验证码 换一张
取 消