Vb.net – ASPxGridView GetSelectedFieldValues not retrieving values

aspxgridviewdevexpressvb.net

I'm trying to make such a simple thing as getting one value from the selected row in an ASPxGridView with the GetSelectedFieldValues method with a button.

I've followed the steps from DevExpress documentation with the difference I want to retrieve the value inside a Label. Nothing difficult with classic ASPGridView.

Protected Sub ASPxButton1_Click(sender As Object, e As EventArgs) Handles ASPxButton1.Click
    Dim oRowVal As List(Of Object)
    Dim oVal As Object
    oRowVal = ASPxGridView1.GetSelectedFieldValues({"No_"})
    oVal = oRowVal(0)
    Label1.Text = oVal.ToString
End Sub

As you can see, the thing I want is to get the selected value within the ASPxGridView and display it in a Label.

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<dx:ASPxButton ID="ASPxButton1" runat="server" AutoPostBack="False" Text="ASPxButton" Theme="BlackGlass" Width="150px">
</dx:ASPxButton>
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" EnableTheming="True" Theme="BlackGlass">
    <Columns>
        <dx:GridViewCommandColumn ShowSelectCheckbox="True" VisibleIndex="0">
            <ClearFilterButton Visible="True">
            </ClearFilterButton>
        </dx:GridViewCommandColumn>
        <dx:GridViewDataTextColumn Caption="GP" FieldName="No_" VisibleIndex="1">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Caption="Description" FieldName="DescripciĆ³n Grupo" VisibleIndex="2">
        </dx:GridViewDataTextColumn>
    </Columns>
    <SettingsBehavior AllowSelectSingleRowOnly="True" />
    <Settings ShowFilterRow="True" ShowGroupPanel="True" />
</dx:ASPxGridView>

Thanks in advance!!!

Best Answer

Specify the ASPxGridView.KeyFieldName property in order to use the Selection state:

<dx:ASPxGridView ... KeyFieldName="...">

By the way, does the following code return the correct results?

oRowVal = ASPxGridView1.GetSelectedFieldValues({"No_"})
oVal = oRowVal(0)
Related Topic