动态变更GridView控件列名

近段时间,确是很多专案要写,客户的个性化要求也越来越多。举个例子吧,就是从数据库取出来的字段名,在显示在GridView时,需要全部更为另外一个名称。下面的样例,并非是专案的内容,而是Insus.NET为了演示,而使用相似的数据而已。

首先在站点的网页上创建一个网页,并拉GridView控件入网页中,下图蓝色下划线的,就是原本显示的字段名。



在.cs中的:



OK,上面的程序运行时效果:




现在,我们就要动态更改上图中黑体字体的列名,分别为ID,Kind Name和Fruit Name。改为什呢,这要看客户的真正要求了。
它总共有3列。因此我们得定义好3列的Field名称,一一对应,并放在一个阵列中。

string[] fieldNames = { "主键", "类别名", "水果名" };


Insus.NET的专案环境,是直接从数据库获取。因为有定制好,客户自己能方便更改到对应的名称。

接下来,是问题所在,怎样改呢?这才是真正问题。我们先去.aspx 的html网页,在GridView控件,添加一个事件 OnRowCreated="GridViewFruit_RowCreated":




去.cs写事件逻辑程序:



上图中#1是判断是否为GridView的Header。
#2是 Header所在行。
#3是把自定义的列名加入Header中。


运行预览看看,是个什么样子:



自定义的列名出现了。不过原来的列名还是存在,怎样解决呢? 想到否?Grdiveiw控件有一个属性ShowHeader,它是控制是否显示GridView的Header.




Ok,最终效果:



Insus.NET希望此博文能带真正给你带来帮助,小小经验,分享于此。

posted @ 2013-08-02 10:49  Insus.NET  阅读(1807)  评论(3编辑  收藏  举报