Getting datas from gridview for selected row

asp.net

i'm new to asp.net. i'm doing one project. in that i've used one gridview and fetch datas from database using sqldatasource.
gridview code is

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataSourceID="Library" CellPadding="4" ForeColor="#333333" 
    GridLines="None" OnRowDataBound="GridView1_RowDataBound" >
    <RowStyle BackColor="#EFF3FB" />
    <Columns>
        <asp:BoundField DataField="Sl_No" HeaderText="Sl_No" SortExpression="Sl_No" />
        <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
        <asp:BoundField DataField="Author" HeaderText="Author" 
            SortExpression="Author" />
        <asp:BoundField DataField="Publication" HeaderText="Publication" 
            SortExpression="Publication" />
        <asp:BoundField DataField="Available" HeaderText="Status" 
            SortExpression="Available" />
        <asp:TemplateField HeaderText="Availability">
            <ItemTemplate>
                <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Available") %>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="RIUserTaken" HeaderText="RIUserTaken" 
            SortExpression="RIUserTaken" Visible="False" />
        <asp:TemplateField HeaderText="Taken By" ShowHeader="False">
            <ItemTemplate>
                <asp:Label ID="Label4" runat="server" Text='<%# Eval("RIUserTaken", "{0}") %>'></asp:Label>
                <asp:Button ID="SendRequest" runat="server" Text="Button" Visible="False" 
                    onclick="SendRequest_Click" CommandName="SendRequestCmd" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Taken Date" InsertVisible="False" 
            ShowHeader="False">
            <ItemTemplate>
                <asp:Label ID="Label3" runat="server" Text='<%# Eval("TakenDate") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <EditRowStyle BackColor="#2461BF" />
    <AlternatingRowStyle BackColor="White" /> </asp:GridView>

code is one of the column of the grid view. if i click on that button, i've to store that button contains rows all datas in string variable. like
string slno="";
slno=gridview1.cells[0].text; (i'm not sure it is correct or not)
plz anyone help me??

thanks in advance 🙂

Best Answer

From msdn, you should check this. GridView.SelectedIndexChanged event

void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
{
// Get the currently selected row using the SelectedRow property.
GridViewRow row = CustomersGridView.SelectedRow;

// Display the company name from the selected row.
// In this example, the third column (index 2) contains
// the company name.
MessageLabel.Text = "You selected " + row.Cells[2].Text + ".";
}

void CustomersGridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
{

// Get the currently selected row. Because the SelectedIndexChanging event
// occurs before the select operation in the GridView control, the
// SelectedRow property cannot be used. Instead, use the Rows collection
// and the NewSelectedIndex property of the e argument passed to this 
// event handler.
GridViewRow row = CustomersGridView.Rows[e.NewSelectedIndex];

// You can cancel the select operation by using the Cancel
// property. For this example, if the user selects a customer with 
// the ID "ANATR", the select operation is canceled and an error message
// is displayed.
if (row.Cells[1].Text == "ANATR")
{

  e.Cancel = true;
  MessageLabel.Text = "You cannot select " + row.Cells[2].Text + ".";

}
}
Related Topic