ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:16.09KB ,
资源ID:7072111      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7072111.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(GridView后台绑定数据列表方法.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

GridView后台绑定数据列表方法.docx

1、GridView后台绑定数据列表方法GridView后台绑定数据列表方法 GridView后台绑定数据列表方法在很多时候数据绑定都是知道了数据表中的表字段来绑定GridView控件的,那时候我就有个想法希望通过表明来查询数据库中的字段来动态的绑定GirdView控件数据并提供了相关的操作列,在网上找了一些资料字按照自己的想法改进写了一个后台绑定GridView控件得得模板。其中最主要的好处是只需要知道数据库中的列名就可以了,表头可以在一个其他文件中来和数据列表绑定 /* * 2014-02-27 * GridView数据列绑定帮助文档 * 用于动态添查询数据绑定到数据表中 * 提供各种类型的绑

2、定 * * */using System;using System.Collections.Generic;using System.Linq;using System.Text;/using System.Web.UI;using System.Web.UI.WebControls;namespace CommonLib / / GridView数据列绑定中兴 / public class GridViewTemplate : ITemplate public delegate void EventHandler(object sender, EventArgs e); public eve

3、nt EventHandler eh; private DataControlRowType templateType; private string columnName; private string controlID; private XMLTableInfo xmTable = null; private BindType bind = BindType.label; public GridViewTemplate() / / 构造函数 / / 绑定列类型 / 绑定列名称或者需要绑定的数据库字段 / 绑定字段类型控件 public GridViewTemplate(DataContr

4、olRowType type, string colname, BindType bin, XMLTableInfo tab) templateType = type; columnName = colname; bind = bin; this.xmTable = tab; / / 绑定事件 / / / / public GridViewTemplate(DataControlRowType type, string controlID, string colname) templateType = type; this.controlID = controlID; columnName =

5、 colname; public void InstantiateIn(System.Web.UI.Control container) switch (templateType) case DataControlRowType.Header:/标题绑定 if (bind = BindType.label) Literal lc = new Literal(); lc.Text = columnName; container.Controls.Add(lc); if (bind = BindType.checkbok) Literal lc = new Literal(); /可以按照自己想要

6、处理方法来写 lc.Text = 全选; container.Controls.Add(lc); if (bind = BindType.editor) Literal lc = new Literal(); lc.Text = 编辑; container.Controls.Add(lc); if (bind = BindType.delete) Literal lc = new Literal(); lc.Text = ;/ 删除; container.Controls.Add(lc); break; case DataControlRowType.DataRow:/普通列绑定 if (bi

7、nd = BindType.label) Label tb = new Label(); tb.DataBinding += tb_DataBinding; container.Controls.Add(tb); if (bind = BindType.checkbok) Literal lic = new Literal(); lic.DataBinding += lic_DataBinding; container.Controls.Add(lic); if (bind = BindType.editor) Literal lec = new Literal(); lec.DataBind

8、ing += lec_DataBinding; container.Controls.Add(lec); if (bind = BindType.editor) Literal del = new Literal(); del.DataBinding += del_DataBinding; container.Controls.Add(del); break; default: break; void del_DataBinding(object sender, EventArgs e) Literal tb = (Literal)sender; GridViewRow row = (Grid

9、ViewRow)tb.NamingContainer; tb.ID = columnName; /可以按照自己想要处理方法来写 tb.Text = + xmTable.CName + &eName= + xmTable.EName + &id= + DataBinder.Eval(row.DataItem, columnName).ToString() + 删除; void lec_DataBinding(object sender, EventArgs e) Literal tb = (Literal)sender; GridViewRow row = (GridViewRow)tb.Nam

10、ingContainer; tb.ID = columnName; /可以按照自己想要处理方法来写 tb.Text = + xmTable.CName + &eName= + xmTable.EName + &id= + DataBinder.Eval(row.DataItem, columnName).ToString() + 编辑; void lic_DataBinding(object sender, EventArgs e) Literal btn = (Literal)sender; GridViewRow row = (GridViewRow)btn.NamingContainer

11、; btn.ID = columnName; /可以按照自己想要处理方法来写此处绑定一个复选框 类名为CheckBox btn.Text = + DataBinder.Eval(row.DataItem, columnName).ToString() + /; / / 2014-02-27 / 张国强 / 绑定字段数据列事件 / / / void tb_DataBinding(object sender, EventArgs e) Label tb = (Label)sender; try GridViewRow row = (GridViewRow)tb.NamingContainer; t

12、b.ID = columnName; tb.Text = DataBinder.Eval(row.DataItem, columnName).ToString(); catch (Exception) / / 模板类型枚举 / public enum BindType label, checkbok, editor, delete 调用方法例字 / / 绑定数据到GridView控件 / / GridViews控件 / 英文名称 / 中文名称 / 需要查询的数据字符串 public void LoadInfo(GridView NewGrid, string eName, string cNa

13、me,string sqlOrTop) NewGrid.Columns.Clear(); XMLTableInfo tb = new XMLTableInfo(); tb.CName = cName; tb.EName = eName; XMLBase xBase = new XMLBase(); xBase.LoadDome(); string tableInfo = xBase.Check(eName, cName); if (tableInfo=) return; /1,拆分数据 string Ename = tableInfo.Split(|)0.Split(,); string Cn

14、ame = tableInfo.Split(|)1.Split(); xBase.LoadDome(); string id = xBase.GetIdentity(eName, cName); /循环数表中的列名 for (int i = 0; i ) TemplateField temp = new TemplateField(); temp.ShowHeader = true; if (i = 0) temp.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, Cnamei, BindType.checkbok

15、, tb); temp.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, id, BindType.checkbok, tb); else temp.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, Cnamei, BindType.label, tb); temp.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, Enamei, BindType.label,

16、 tb); NewGrid.Columns.Add(temp); /添加编辑列 TemplateField tempEditor = new TemplateField(); tempEditor.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, 操作, BindType.editor, tb); tempEditor.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, id, BindType.editor, tb); NewGrid.C

17、olumns.Add(tempEditor); TemplateField tempDelete = new TemplateField(); tempDelete.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, 删除, BindType.delete, tb); tempDelete.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, id, BindType.delete, tb); NewGrid.Columns.Add(tempD

18、elete); string sql = ; if (sqlOrTop.Length11) sql = select top + sqlOrTop + * from + eName + order by + id + DESC; NewGrid.DataSource = ExcelHelper.GetDataSet(sql); else NewGrid.DataSource = ExcelHelper.GetDataSet(sqlOrTop); NewGrid.AutoGenerateColumns = false; NewGrid.DataBind(); View Code 这个例子值提供了一种思路,需要有其他功能的网友可以修改代码为自己想要的表头内容形式

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1