gridview row id

i need to get the gridview row id of a selected row. my issue is that I'm calling an object that I can't look into so I'm allowing the gridview to auto generate the columns. when the gridview is loaded i then need to be able to select a row and pass the rowid to a method. I have to click a button to load the data.
 I've already written the code to go after the data.

how do i code the selection of a row?
<asp:Button ID="btnListFiberTests" runat="server" 
                onclick="btnListFiberTests_Click" Text="List Fiber Tests" />

<asp:GridView ID="grdvwFiberTests" runat="server" CellPadding="4" 
                EnableModelValidation="True" ForeColor="#333333" GridLines="None" >
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            </asp:GridView>

-----------------

 protected void btnListFiberTests_Click(object sender, EventArgs e)
        {
            //get all rows of data
            proxy = new FiberMossClient.FiberServiceReference.FiberServiceClient();
            fibertest = proxy.ListFiberTests();
            
            grdvwFiberTests.AutoGenerateColumns = true;
            grdvwFiberTests.DataSource = fibertest;
            grdvwFiberTests.DataBind();
        }

Open in new window

vicominAsked:
Who is Participating?
 
kris_perConnect With a Mentor Commented:

protected void button1_Click(object sender, EventArgs e)
{

   GridViewRow row = grdvwFiberTests.SelectedRow;

   // now to get the first col value

   string firstColValue = row.Cells[0].Text;

 // OR if you have set DataKeyNames property of the gridview to 'ID' column,
// SelectedValue property will give you the ID value directly
// DataKeyNames  => http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.datakeynames.aspx

   string selectedId = grdvwFiberTests.SelectedValue;


}
0
 
kris_perCommented:

Yiou can use GridView.SelectedRow property to get the current selected row...

=> http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.selectedrow.aspx
0
 
vicominAuthor Commented:
modified the gridview as such - object browser helped
<asp:GridView ID="grdvwFiberTests" runat="server" CellPadding="4" 
                EnableModelValidation="True" ForeColor="#333333" GridLines="None" 
                AutoGenerateColumns="False" DataKeyNames="FiberTestId" >
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <Columns>
                    <asp:BoundField DataField="FiberTestId" HeaderText="Fiber Test Id" 
                        SortExpression="FiberTestId" />
                    <asp:BoundField DataField="WorkOrder" HeaderText="Work Order" 
                        SortExpression="WorkOrder" />
                    <asp:BoundField DataField="SerialNumber" HeaderText="Serial Number" 
                        SortExpression="SerialNumber" />
                </Columns>
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            </asp:GridView>

Open in new window

0
 
kris_perCommented:

 You can use 'CommandField' column to select a row = > http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.commandfield.aspx
0
 
kris_perCommented:

Below code shows adding a commandfield with Selectbutton...when user clicks the link on the row...that row will be selected, then GridView.SelectedRow or GridView.SelectedValue can be used as I mentioned above...
...
<Columns>
                    <asp:BoundField DataField="FiberTestId" HeaderText="Fiber Test Id" 
                        SortExpression="FiberTestId" />
                    <asp:BoundField DataField="WorkOrder" HeaderText="Work Order" 
                        SortExpression="WorkOrder" />
                    <asp:BoundField DataField="SerialNumber" HeaderText="Serial Number" 
                        SortExpression="SerialNumber" />
<asp:commandfield ShowSelectButton="true"
            headertext="Select"/>
</Columns>
....

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.