One of the amazing components in DevExpress suite is ASPxGridView. It has a method called GetSelectedFieldValues for retrieving values which are selected by the user. However, you might run into a problem such as retrieving nothing!
Here is the code that you use and fail retrieving data:
Default.aspx.cs:
List<object> fieldValues2 = gridSiteList.GetSelectedFieldValues(new string[] { "column1", "column2" });
Default.aspx:
<dx:ASPxGridView ID="gridSiteList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3" Width="297px">
<Columns>
<dx:GridViewCommandColumn ShowSelectCheckbox="True" VisibleIndex="0" Width="40px">
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="column1" VisibleIndex="1" Width="130px" Caption="Name">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="column2" VisibleIndex="2" Width="130px" Caption="IP">
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
Solution
ASPxGridView needs you to specify the name of a unique column to work correctly. In order to specify it, simply add this parameter into the component definition:
KeyFieldName="column1"
So, the edited ASPX code look like this:
<dx:ASPxGridView ID="gridSiteList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3" KeyFieldName="column1" Width="297px">
<Columns>
<dx:GridViewCommandColumn ShowSelectCheckbox="True" VisibleIndex="0" Width="40px">
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="column1" VisibleIndex="1" Width="130px" Caption="Name">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="column2" VisibleIndex="2" Width="130px" Caption="IP">
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
You don’t need to change anything in CS file.

