Solved

gridview row id

Posted on 2010-09-02
5
406 Views
Last Modified: 2012-05-10
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

0
Comment
Question by:vicomin
  • 4
5 Comments
 
LVL 16

Expert Comment

by:kris_per
ID: 33590206

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
 

Author Comment

by:vicomin
ID: 33590224
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
 
LVL 16

Accepted Solution

by:
kris_per earned 500 total points
ID: 33590266

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
 
LVL 16

Expert Comment

by:kris_per
ID: 33590388

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

Expert Comment

by:kris_per
ID: 33590437

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

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have developed many web applications with asp & asp.net and to add and use a dropdownlist was always a very simple task, but with the new asp.net, setting the value is a bit tricky and its not similar to the old traditional method. So in this a…
In this Article, I will provide a few tips in problem and solution manner. Opening an ASPX page in Visual studio 2003 is very slow. To make it fast, please do follow below steps:   Open the Solution/Project. Right click the ASPX file to b…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question