繁体   English   中英

网格视图选定的行数据

[英]grid view selected row data

我通过以下代码在 rowcommand 事件中从 gridview 获取数据

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 行中可见的字段的数据。我怎样才能得到不可见但绑定到 gridview 的字段。

您无法获得设置为不可见的值,因为这些值未在客户端呈现,并且无法在服务器端获取。

或者,您可以将值存储在隐藏字段中,然后您可以从隐藏字段中获取它。

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{   
    MessageBox.Show(dataGridView1.SelectedRows[0].Cells[0].Value.ToString ());
}

您不能获取不可见的绑定元素,但可以从数据源获取值。例如,您将数据保存在分配给网格的数据表中。将此数据表存储在视图状态中,并在行命令上获取该数据键通过数据表的行和检索值

您可以获得一个类似命令的按钮,该按钮在 gridview 中是不可见的,只需看一下:--- 按钮的错误可见性要求您在default.aspx中的页面指令上更改属性EnableEventValidation="False"

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" %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM