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

GridView可以动态绑定多个表字段吗

GridView需要根据Dropdownlist的选择进行绑定不同的DATASET。在进行完第一次绑定之后,根据Dropdownlist的选择进行第二次绑定的时候,GridView的DataSource 能够赋进新的表但是到了调用DataBind方法时候会出现与上一个表的表结构进行赋值的错误。
页面:
 <asp:dropdownlist id="ddlZdyw" runat="server" AutoPostBack="True"> <asp:ListItem Value="1" Selected="True">科技合作</asp:ListItem>
<asp:ListItem Value="2">工程建设项目及招投标</asp:ListItem>
</asp:dropdownlist></TD>

后台代码:
TongjiManager tj = new TongjiManager(); 
//重点业务类别
 int   zdywType = Convert.ToInt32(this.ddlZdyw.SelectedValue);
DataSet ds = new DataSet();
ds = tj.getData(zdywType)
this.ASPxGridView1.DataSource = ds;
this.ASPxGridView1.DataBind();



//根据查询条件得到的列表
public DataSet getData(int zdywType)
{
DataSet result = new DataSet();
string sql = "";
switch(zdywType)
{
                             case 1:
                           sql = "select QYMC AS '企业名称',XMMC AS '项目名称',HTQDRQ AS '合同签定日期',STDWMC AS '受托单位名称',WTDW AS '委托单位',HTQE AS '合同金额(元)' from BO_KJHZ ";
break;
case 2:
                    sql = "select UNITNAME AS '企业名称',PROJECTNAME AS '项目名称', BULIDUNIT AS '建设单位', SIGNDATE AS '合同签订日期', CONTRACTMONEY AS '合同金额', CONTRACTORNAME AS '承包商名称' from BO_PROJECT";
                             break;
                            }
                     }
                       result = SqlDbHelper.ExecuteDataset(SqlDbHelper.ConnectString,CommandType.Text,sql);

return result;
}
报错:
--------------------编程问答-------------------- 报什么错?

列名要统一啊   否则你怎么绑定列名  比如 第一个 委托单位   第二个都没有这个列名  肯定报错 --------------------编程问答-------------------- getData(int zdywType)
 方法报错吗 --------------------编程问答-------------------- 楼主的意思是选择不同的dowpdownlist gridview显示不同表吧,这样你重新databind的前面还要对gridview列的绑定做一下处理的 --------------------编程问答-------------------- GridView绑定的表的字段要统一,不然怎么区分。
你这种情况建议多用几个gridview,根据你表的类型,不同的表绑定不同的gridview,根据不同的条件显示或者隐藏gridview. --------------------编程问答--------------------
引用 2 楼 louti 的回复:
getData(int zdywType)
 方法报错吗


对,我就想选择不同的dowpdownlist gridview显示不同表,表的字段名称是不一样的,我在绑定之前清空一下dataset,也是不行的,怎么做一下处理 --------------------编程问答-------------------- 我想用一个GrideView显示出不同表的不同字段,可以实现吗?要不12张表,得放12个GrideView控件啊 --------------------编程问答--------------------
引用 3 楼 ccsldya 的回复:
楼主的意思是选择不同的dowpdownlist gridview显示不同表吧,这样你重新databind的前面还要对gridview列的绑定做一下处理的


对,我就想选择不同的dowpdownlist gridview显示不同表,表的字段名称是不一样的,我在绑定之前清空一下dataset,也是不行的,怎么做一下处理 --------------------编程问答--------------------
引用 6 楼 gaoyongjun20101202 的回复:
我想用一个GrideView显示出不同表的不同字段,可以实现吗?要不12张表,得放12个GrideView控件啊

查询语句的不同,绑定的数据源也不一样啊。
笨方法的话。可以在表头放几个label,然后把根据条件把不用的隐藏掉呗
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,