Asp.Net的GridView的赋值与取值

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

一、赋值

前台:

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

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();

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值