Как выбрать конкретную строку в сетке - PullRequest
0 голосов
/ 10 марта 2010

У меня есть Gridview

<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 Ответ

0 голосов
/ 10 марта 2010

Попробуйте использовать другое событие - 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];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...