ASP.NET中选择GridView的行获取数据

网上搜一个下总结下面3种

第一种

1.在DataBind()前增加DataKeyNames

gvRework.DataSource = ds.Tables["temp"].DefaultView;
gvRework.DataKeyNames = new string[] { "SerialNumber" };
gvRework.DataBind();

2.                     GridLines="None" Width="100%" 
                    onselectedindexchanged="gvRework_SelectedIndexChanged" 
                   
                       

                       
                       
                            />
                       

                       

                   
               

3.protected void gvRework_SelectedIndexChanged(object sender, EventArgs e)
    {
        string serialNumber = gvRework.SelectedValue.ToString();
        //Response.Write("");
    }

第二种

1.                      GridLines="None" Width="100%" 
                    onrowcommand="gvRework_RowCommand">
                   
                       
                       
                            />
                       

                       

                   

               

3. protected void gvRework_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string modelName = e.CommandArgument.ToString();
        //Response.Write("");
    }

第三种

1.                      GridLines="None" Width="100%" 
                    onselectedindexchanging="gvRework_SelectedIndexChanging" 
                    AutoGenerateSelectButton="True">

               

2. protected void gvRework_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
        int index = -1;        
        foreach (TableCell item in gvRework.HeaderRow.Cells)
        {
            index++;
            if (string.Compare(item.Text, "SERIALNUMBER") == 0)
            {
                txtSerNum.Text = gvRework.Rows[e.NewSelectedIndex].Cells[index].Text;
                //Response.Write("");
            }
            //Response.Write("");
        }
       // public static int GetColumnIndex(GridView gridview, string fieldName)
       //{
       //    int index = -1;
       //    GridViewRow gvr = gridview.HeaderRow;

       //    for (int i = 0; i < gvr.cells.count; i++)
       //    {
       //        if(string.Compare(gvr.Cells[i].Text, fieldName,true) == 0)
       //        index = i;
       //    }
       //    return index;
       //}
    }

 

你可能感兴趣的:(ASP.NET)