Asp.Net的GridView的赋值与取值

来源:互联网 发布:麦迪巅峰数据 编辑:程序博客网 时间:2024/05/21 08:35

我就是我,从不多说,直接开始:

一、赋值

前台:

设计有两种方法:赋值一样,但是取值却有所不同。

1GridView节点的Cloumns节点里面添加如下样式:

                <asp:TemplateField HeaderText="系统ID">

                  <ItemTemplate>

                      <asp:Label ID="id" Text='<%#Eval("Id"%>' runat="server" />

                  </ItemTemplate>

</asp:TemplateField>

2GridView节点的Cloumns节点里面添加如下样式:

<asp:BoundField HeaderText="系统ID" DataField="Id" />

后台:在页面加载Page_Load事件或者自己定义的事件添加方法引用即可。

   public void BindGird()

        {

            string sql = "select * from Users";

            GridView1.DataSource = SqlHelper.ExecuteDataset(SqlHelper.ConnectionString, CommandType.Text, sql, null);//DataTable或者DataSet

            GridView1.DataKeyNames = new string[] { "Id"};//主键,取值时用到可以一个或多个值

            GridView1.DataBind();//           

        }

 

二、取值

取值主要在后台,原理是获取行的索引,单元格的索引,以下是非编辑状态下取值,编辑状态下的自行百度,目前我接触的方法有:

前台设计方式为1TemplateField(模板列)的取值:

GridView1_RowEditing事件中:

String id=((Label)GridView1.Rows[e.NewEditIndex].Cells[0].FindControl("id")).Text;//Cells的索引指第几个单元格。

前台设计方式为2BoundField(绑定列) 的取值:

String id=GridView1.Rows[e.NewEditIndex].Cells[0].Text;//Cells的索引与Cloumns的里的BoundField绑定列的位置有关。

 

其他方式的取值:

 1自定义按钮(即在模板列的按钮)

ICommandArgument方式

前台: 

<asp:Button ID="btnUpdate" runat="server" CommandArgument='<%#Container.DataItemIndex%>' Text="更新" OnClick="btnUpdate_Click" />  

后台:                   

Button btn = sender as Button;

int index = int.Parse(btn.CommandArgument);

string name = ((Label)GridView1.Rows[index].Cells[0].FindControl("name")).Text;

IICommandName方式

前台:

<asp:Button ID="btnEidt" runat="server" CommandName='<%#Eval("LoginId"%>' Text="编辑" OnClick="Eidt_Click" />

后台:

    Button btn = sender as Button;

string name = btn.CommandName;

 2DataKeyNames方式(模板列和编辑列都可以)

GridView赋值时添加DataKeyNames的作用,取隐藏列时作用很大

string id = GridView1.DataKeys[e.NewEditIndex].Value.ToString();

原创粉丝点击