Как выбрать конкретную строку в сетке

У меня есть гридвью

<asp:GridView ID="GridView1" runat="server" Width="400px" AutoGenerateColumns="false"
            OnSelectedIndexChanged="GridView1_SelectedIndexChanged1">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="name">
                    <ItemTemplate>
                        <asp:Label ID="lblStudentName" runat="server" Text='<%# Eval("StudentName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address">
                    <ItemTemplate>
                        <asp:Label ID="lblResidentialAddress" runat="server" Text='<%# Eval("ResidentialAddress") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>

            </Columns>
        </asp:GridView>

и я получаю значение, привязанное к сетке

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {

        DataTable dt = new DataTable();
        dt = objdb.GetData("Getsamples", new object[] { });
        ViewState["CurrentTable"] = dt;
        GridView1.DataSource = dt;

        GridView1.DataBind();

    }
}

protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
{
    Response.Write(GridView1.SelectedRow.Cells[0].Text); 
  //  string selectedText = ((Label)GridView1.SelectedRow.FindControl("lblStudentName")).Text;

  //  Response.Write(selectedText);
}

я не могу получить строку, где установлен флажок...

Как выбрать конкретную строку в виде сетки, и на основе выбора мне нужно вынуть "Имя" и передать его в качестве параметра для получения другого вида сетки, относящегося к строке, которую я выбрал.???

любая помощь...

1 ответ

Решение

Попробуйте использовать другое событие - OnSelectedIndexChanging ( http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.selectedindexchanging.aspx)

Он имеет GridViewSelectEventArgs ( http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewselecteventargs_members.aspx), передаваемый в обработчик событий, который имеет свойство NewSelectedIndex.

Ваш обработчик событий будет выглядеть так:

void GridView1_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
{
     GridViewRow row = GridView1.Rows[e.NewSelectedIndex];
}
Другие вопросы по тегам