Telerik Grid - Ссылка на выбранный элемент - PullRequest
0 голосов
/ 10 августа 2010

Когда я щелкаю строку в моей Telerik RadGrid, я могу запустить следующий метод.Я могу ссылаться на любой из столбцов, например, item ["Description"]

Проблема: Как ссылаться на DataKeyName 'Id'

<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"];

Ответы [ 3 ]

0 голосов
/ 10 августа 2010

За два года использования RadGrid я всегда использовал скрытый столбец, это было больно, но именно так [Telerik] сказал мне использовать его.

0 голосов
/ 24 августа 2010

Я вижу, что вы добавили поле идентификатора в DataKeyNames главной таблицы - почему бы не использовать DataKeyValues ​​для получения значений идентификаторов из строк сетки?См. эту статью для начала.

Дик

0 голосов
/ 10 августа 2010
<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);

Я обманул и использовал скрытый столбец. Должен быть лучший способ, но он работает!

...