如何在页面上获取网格视图的选定行单元格值?

时间:2011-05-23 09:48:04

标签: asp.net gridview

我在网页上使用网格视图。

我想在页面按钮的点击事件中通过response.write()显示所选行单元格的数据。

5 个答案:

答案 0 :(得分:8)

注意 ::

  • 请设置您的CommandName 按钮到"selectCol"

  • 请为CommandName设置 第二个按钮,你会用到 删除

    "deleteCol"

设置按钮的command argument属性:

<强>的.aspx

CommandArgument='<%#((GridViewRow)Container).RowIndex%>'
CommandArgument='<%#((GridViewRow)Container).RowIndex%>'

两个按钮。

<强>的.cs

 protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        try
        {
            int index = Convert.ToInt32(e.CommandArgument);
            if (e.CommandName == "selectCol")
            {
                Response.Write(gv.Rows[index].Cells[0].Text); //consider you use bound field and the column you want to show its value is the first column.
            }

            else if(e.CommandName == "deleteCol")
             {
                 int id = int.Parse(gv.DataKeys[index].Value.ToString());//the primary key for your table.
                 Delete(id);//method which use (Delete From .... Where id = ....).
             }


            gv.DataBind();

        }

        catch (Exception ee)
        {
            string message = ee.Message;
        }
    }

答案 1 :(得分:4)

问候Hims。

从gridview字段读取值的最简单方法是写:
your_grid_name.SelectedRow.Cell(* number_of_index *)。文本

就我而言:

Dim employer_name As String
employer_name = poslodavac_grid.SelectedRow.Cells(1)。文本

请记住,第一个单元格索引为零,并且不将“asp:CommandField ShowSelectButton”标记计为第一个...

答案 2 :(得分:3)

使用GridView.SelectedRow属性。

String cellText = this.gridView.SelectedRow.Cells[cellIndex].Text;

请参阅以下内容了解如何选择GridView控件中的行。

Select Command in a GridView Control in ASP.Net

答案 3 :(得分:3)

如果您在网格视图中使用LINK BUTTON,则可以在ROWCOMMAND方法中使用以下代码。此代码检索特定选定行中的所有值。

 // to get the value of the link use the command argument 
 FaultId = Convert.ToInt32(e.CommandArgument);

 // to get the other column values 

UserId = Convert.ToInt32(((GridViewRow(((LinkButton)e.CommandSource).NamingContainer)).Cells[1].Text);  

Department = ((GridViewRow(((LinkButton)e.CommandSource).NamingContainer)).Cells[2].Text;

ProblemType = ((GridViewRow)(((LinkButton)e.CommandSource).NamingContainer)).Cells[3].Text;

答案 4 :(得分:2)

您可以在gridview的RowCommand事件中获取它:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

{
    if (e.CommandName == "Select")
    {
        GridViewRow row = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
        Response.Write(row.Cells[0].Text);
        Response.Write(row.Cells[1].Text);
        ................
    }
}