GridView中使用DataKeyNames存储数据键值
来源:互联网 发布:windows shell编程入门 编辑:程序博客网 时间:2024/06/06 00:06
很多时候我们需要在GridView的RowCommand之类的事件中需要获取当前行的一些关联性的数据值。但这些数据值又没有直接体现在GridView的列中。这个时候该怎么办呢?有同学喜欢用隐藏列的方式,把需要使用但不显示的字段绑定到此列上,同时设置列宽为0或不显示,使用时可以用常规的取某行某列的方式来获取数据。但是在Framework 2.0中,我们可以采用DataKeyNames的方式来获取此类数据。代码示例:(前台)
<asp:GridView ID="GridView1" runat="server" DataKeyNames="Grup" OnRowCommand="GridView1_RowCommand" AutoGenerateColumns="False"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%#Eval("GrupName") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:ButtonField Text="按钮" /> </Columns> </asp:GridView>
Grup 为我们想使用但不需要显示的列。(如果有多个字段,使用逗号分开)
(后台)
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack ) { DataTable dt = new DataTable(); dt.Columns.Add("Grup"); dt.Columns.Add("GrupName"); dt.Rows.Add(new object[] { 0,"营业部" }); dt.Rows.Add(new object[] { 1,"市场部" }); this.GridView1.DataSource = dt; this.GridView1.DataBind(); } } protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { // 获取当前行索引 int index = Convert.ToInt32(e.CommandArgument); // 取出当前行数据键值对象中的值 string strGrup = ((GridView)sender).DataKeys[index].Values["Grup"].ToString(); }
顺便补充一句。
如果你使用模板列中放置按钮控件的方式,要想在按钮事件中获取这种字段值就更简单了。
只需要在按钮的CommandArgument属性设置为想绑定的字段,如:
<asp:TemplateField> <ItemTemplate> <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" CommandArgument=' <%#Eval("Grup") %>' /> </ItemTemplate> </asp:TemplateField>
按钮事件中如是写:
protected void Button2_Click(object sender, EventArgs e) { string strGrup = ((Button)sender).CommandArgument.ToString(); }
- GridView中使用DataKeyNames存储数据键值
- GridView中使用DataKeyNames存储数据键值
- GridView中使用DataKeyNames存储数据键值
- GridView 中DataKeyNames 存储数据键值
- C# GridView 中DataKeyNames 存储数据键值(转)
- 2005中GridView 的DataSource中存储过程用到的参数和DataKeyNames的冲突
- GridView中DataKeyNames的应用小结
- GridView中DataKeyNames的应用小结
- GridView中DataKeyNames的应用小结
- GridView控件的DataKeyNames
- GridView的DataKeyNames属性
- GridView.DataKeyNames 属性
- GridView中使用存储过程分页
- 在PHP中使用键值对数组构造JSON数据
- GridView的DataKeyNames属性(转)
- GridView的DataKeyNames的一些用法
- GridView的DataKeyNames和DataKeys属性
- 【转】GridView的DataKeyNames的一些用法
- Java对于Cookie的操作详解
- A星寻路算法介绍
- jQuery AJAX实现调用页面后台方法和web服务定义的方法
- 【COCOS2DX-游戏开发之五】添加GameCenter
- Java异常的分类
- GridView中使用DataKeyNames存储数据键值
- 采用Cookie记录上次访问记录
- linux find命令格式及find命令详解
- QT 多线程信号与槽(二)
- Spring Security3.1 最新配置实例
- 如何加快sql执行速度?
- 编译Android下的ffmpeg 1.2
- IO流
- ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper