Question

Lorsque je clique sur une ligne de mon Telerik RadGrid, je peux déclencher la méthode suivante.Je peux référencer n'importe laquelle des colonnes, par exemple item["Description"]

Problème:Comment référencer le DataKeyName de « 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"];
Était-ce utile?

La solution

En deux ans d'utilisation RadGrid je l'ai toujours utilisé une colonne cachée, une douleur, mais c'est la façon dont ils [Telerik] me ont dit de l'utiliser.

Autres conseils

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

Je triché et utilisé une colonne cachée. Il doit y avoir une meilleure façon, mais cela obtient travail!

Je vois que vous avez ajouté le champ ID aux DataKeyNames de la table principale - pourquoi ne pas utiliser DataKeyValues ​​pour obtenir les valeurs d'identification des lignes de la grille ?Voir Cet article pour une longueur d'avance.

Queue

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top