сетка просмотра выбранных данных строки - PullRequest
1 голос
/ 11 июля 2011

Я получаю данные из gridview по событию rowcommand по следующему коду

protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "editproject")
    {
        string rowindex = e.CommandArgument.ToString();
        int index = int.Parse(rowindex);
        GridViewRow row = GridView2.Rows[index];
        Label6.Text = row.Cells[1].Text;
    }
}

, но он даст только данные поля, видимого в строке gridview. Как я могу получить полене виден, но привязан к сетке.

Ответы [ 4 ]

2 голосов
/ 11 июля 2011

Вы не можете получить значение, которое вы установили как невидимое, потому что оно не было обработано на стороне клиента и не может быть получено на стороне сервера.

Кроме того, вы можете сохранить значение в скрытом поле, а затем получить его из скрытого поля.

1 голос
/ 26 июля 2013
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{   
    MessageBox.Show(dataGridView1.SelectedRows[0].Cells[0].Value.ToString ());
}
0 голосов
/ 25 марта 2012

Вы можете получить похожую на команду кнопку, которая невидима в виде сетки, просто посмотрите на это: --- Ложная видимость кнопки требует, чтобы вы изменили свойство EnableEventValidation="False" в директиве страницы в default.aspx

private void grd_bind()
{
    SqlDataAdapter adp = new SqlDataAdapter("select* from tbbook", ConfigurationManager.ConnectionStrings["cn"].ConnectionString);

    DataSet ds = new DataSet();
    adp.Fill(ds);
    GridView1.DataSource = ds;
    GridView1.DataBind();
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        LinkButton lk = (LinkButton)(e.Row.Cells[5].Controls[0]);
        e.Row.Attributes["Onclick"] = ClientScript.GetPostBackClientHyperlink(lk, "");
    }
}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    TextBox1.Text = GridView1.SelectedRow.Cells[0].Text;
    TextBox2.Text = GridView1.SelectedRow.Cells[1].Text;
    TextBox3.Text = GridView1.SelectedRow.Cells[2].Text;
    TextBox4.Text = GridView1.SelectedRow.Cells[3].Text;
    TextBox5.Text = GridView1.SelectedRow.Cells[4].Text;
}

затем на странице default.aspx установите EnableEventValidation

<%@ Page Language="VB" EnableEventValidation="false" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
0 голосов
/ 11 июля 2011

Вы не можете получить невидимые связанные элементы, но вы можете получить значение из источника данных. Например, вы сохраняете данные в таблице данных, которая назначена для сетки. Сохраните эту таблицу данных в состоянии просмотра и по строке введите командуключ этой строки и извлеченное значение из таблицы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...