当前位置:编程学习 > C#/ASP.NET >>

关于Asp.net中GridView的HeadText怎么自动从数据库获取字段

本来的HeaderText是可以自己手动改的,但是现在我要生成工资条 

大概上面的字段就是: 计件工资  补贴  夜餐等等。。

上面一行的HeadText前两项是员工表中读取的,后面几项是从工资项目中的字段读取的,而这个工资项目是可以增加和删除的,我怎么做到数据库里有几个工资项目就能读取所有的工资项目而放到HeadText中。(这种显示方式就好像 把GridView旋转了90度显示出一样,本来横列的都变成数列) --------------------编程问答-------------------- sql行专列啊 --------------------编程问答--------------------
引用 1 楼 tangserver 的回复:
sql行专列啊
能再说的仔细点儿吗,SQL不太懂,有不操作sql,只写后台代码的方法吗 --------------------编程问答-------------------- 应该只有超做sql最简单吧,你把你的2个表结构给出来吧
行转列就是把你工资项目的行转换成列跟员工表的数据合并在一起 --------------------编程问答-------------------- 你可以试下,构造一个datatable,
因为是行转列嘛,so,构造的datatable的行就固定了,
列的数量就是原来的数据表(横着的那个)的行数,
然后用嵌套循环(横着循环取数据,竖着循环添加构造datatable的列,并把数据插进去),
得到一个新的数据集合

几年前做过一个类似的,我几乎是掰着手指头去一步步调试、计算那个嵌套循环的逻辑的,头都想大了 --------------------编程问答-------------------- http://topic.csdn.net/u/20100809/20/80FD4B8E-82D6-4457-B1D7-377B9502C356.html
http://topic.csdn.net/u/20071119/17/C5919FB2-523C-44D9-A5B1-6EC26BEE72E1.html
看看这些吧,都是你那类似的 --------------------编程问答--------------------
引用 3 楼 tangserver 的回复:
应该只有超做sql最简单吧,你把你的2个表结构给出来吧
行转列就是把你工资项目的行转换成列跟员工表的数据合并在一起



001 夜餐     
002 社保
003 医保
004 中秋补贴
005 国庆补贴
006 冷饮费
007 交通补贴
008 奖金
009 纳税
010 违纪处罚
011 其他 --------------------编程问答--------------------
引用 4 楼 afengelf2 的回复:
你可以试下,构造一个datatable,
因为是行转列嘛,so,构造的datatable的行就固定了,
列的数量就是原来的数据表(横着的那个)的行数,
然后用嵌套循环(横着循环取数据,竖着循环添加构造datatable的列,并把数据插进去),
得到一个新的数据集合

几年前做过一个类似的,我几乎是掰着手指头去一步步调试、计算那个嵌套循环的逻辑的,头都想大了

我在网上找了一个,GridView列标题修改成自己想要的

用GridView.Columns[0].HeaderText = "", 行不通


到网上找了下,应该是先绑定,再用GridView.HeaderRow.Cells[n]

foreach (DataGridViewColumn col in this.dataGridView1.Columns)
            {
                string columnname = col.HeaderText;
            }

protected void GridView1_DataBound(object sender, EventArgs e)
    {
        //列数
        int count = this.GridView1.HeaderRow.Cells.Count;
        for (int i = 0; i < count; i++)
        {
            string oldValue = this.GridView1.HeaderRow.Cells[i].Text;
            if (oldValue == "UserName")
            {
                this.GridView1.HeaderRow.Cells[i].Text = "用户名";
            }
            else if (oldValue == "Order")
            {
                this.GridView1.HeaderRow.Cells[i].Text = "订单";
            }
            else
            {
                this.GridView1.HeaderRow.Cells[i].Text = "其他";
            }
        }
            
    }

但是 第一步绑定中 DataGridViewColumn 找不到。。
--------------------编程问答-------------------- 你这个表不会只存这些吧,数据怎么关联啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,