Domanda

Quando clicco su una riga sul mio Telerik RadGrid, posso fuoco il metodo riportato di seguito.Posso fare riferimento a qualsiasi colonne eg voce["Descrizione"]

Problema:Come riferimento il DataKeyName di '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"];
È stato utile?

Soluzione

In due anni di utilizzo di RadGrid ho sempre usato una colonna nascosta, un dolore, ma questo è il modo in cui [Telerik] mi hanno detto di usarlo.

Altri suggerimenti

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

Ho tradito e usato una colonna nascosta. Ci deve essere un modo migliore, tuttavia questo ottiene lavorando!

Vedo che è stato aggiunto il campo ID per la DataKeyNames della tabella master - perché non usare DataKeyValues per ottenere i valori di id da le righe della griglia?Vedere questo articolo per un vantaggio iniziale.

Cazzo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top