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

GridView问题

GridView中的列要根据表的字段自动生成,但列标题要显示中文,中文的内容是根据表的字段名去另一个表中查找,同时要加模板列,如<asp:TemplateField HeaderText="操作">
                                            <ItemTemplate>
                                                <asp:LinkButton ID="lnkbtnSelect" CssClass="lnkbtn" runat="server" CommandArgument='<%#Eval("STAFF_CODE") %>'
                                                    OnClick="lnkbtnSelect_Click">详细</asp:LinkButton>
                                            </ItemTemplate>
                                            <ItemStyle Width="60px" />
                                        </asp:TemplateField>

有什么较好的方法实现? --------------------编程问答-------------------- 最好直接在SQL语句中使用中文。。
如:select name as 名称.... from 表 where 。。。 --------------------编程问答-------------------- 在sql中取字段别名为中文的 --------------------编程问答-------------------- 字段名也是不确定的,因为表的结构是根据另一个表中某一个字段的值来确定的 --------------------编程问答-------------------- 字段名也是不确定的,因为表的结构是根据另一个表中某一个字段的值来确定的 
说明有关联,你只要inner join就可以,就用sql去查询。
还有一种就是你写一个方法,将绑定出来的数据在做一个处理,返回你想要的值。
public string GetStr(string id)
{
   string revalue="";
   string sql=string.format("",id);
   sqlconnection....
   sqlcommond....
   ....
   return revale=查询出来的值.
}
--------------------编程问答-------------------- 关联查询,返回DataTable 进行绑定~! --------------------编程问答-------------------- 如我现在A表的结构:
CATEGORY,AD_CODE,DESC 里面的数据为:
A,BA,基本工资
A,OT,加班
D,LATE,迟到

根据A表的AD_CODE字段的值结构生成B表,A表中的数据增加,B表的结构也要变化,增加A表数据时自动修改B表结构,但B表中STAFF_CODE,STAFF_NAME,DEPT_CODE这三个字段是固定的
根据A表的数据生成B表结构为:
STAFF_CODE,STAFF_NAME,DEPT_CODE,BA,OT,LATE

现在生成的GridView中要按B表生成,列名要根据A表中的DESC来显示,且要设置列的排序 --------------------编程问答-------------------- 是列的顺序,因为select 语句是如下所示
select *  FROM (SELECT P_AD.*,E_STAFF.JOIN_DATE,GT_DEPT.DESC3 AS DEPT_DESC3 FROM P_AD INNER JOIN E_STAFF ON P_AD.STAFF_CODE=E_STAFF.STAFF_CODE INNER JOIN GT_DEPT ON P_AD.DEPT_CODE=GT_DEPT.DEPT_CODE) AS P_AD

因JOIN_DATE,DEPT_DESC3要放在P_AD表中的STAFF_CODE,STAFF_NAME后 --------------------编程问答-------------------- P_AD表即上面所说的B表 --------------------编程问答-------------------- 楼主的意思是数据库表中的属性名称是英文的,但是GRIDVIEW出来的是跟表中列的属性名是一致的,也是英文的,变成中文的话,自己根绝页面结构手写一行不行吗,笨方法。

比方说

工号  姓名  年龄  。。。
输出Gridview的内容。 --------------------编程问答-------------------- 回9楼,不能固定GridView的列,因为表结构会变动 --------------------编程问答-------------------- --------------------编程问答-------------------- 用别名可以解决重复列名的问题
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,