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. --------------------编程问答--------------------
对,我就想选择不同的dowpdownlist gridview显示不同表,表的字段名称是不一样的,我在绑定之前清空一下dataset,也是不行的,怎么做一下处理 --------------------编程问答-------------------- 我想用一个GrideView显示出不同表的不同字段,可以实现吗?要不12张表,得放12个GrideView控件啊 --------------------编程问答--------------------
对,我就想选择不同的dowpdownlist gridview显示不同表,表的字段名称是不一样的,我在绑定之前清空一下dataset,也是不行的,怎么做一下处理 --------------------编程问答--------------------
查询语句的不同,绑定的数据源也不一样啊。
笨方法的话。可以在表头放几个label,然后把根据条件把不用的隐藏掉呗
补充:.NET技术 , ASP.NET