日期:2014-05-18  浏览次数:20384 次

datalist 绑定多个表问题
有两个表t1,t2 表结构有点不一样,但是都有我要的a,b两列,请问怎么把t1,t2的a,b两列同时绑定到一个datalist上。。在线坐等。最好说的详细点。。

------解决方案--------------------
用第三个表,将t1,t2的a、b两列复制进去,与datalist绑定
------解决方案--------------------
把两个表都取出来放在两个DataTable中

然后根据这两个DataTable组合成你需要绑定的第三个DataTable

DataTable的自定义参考如下:

DataTable sourse = new DataTable();
sourse.Columns.Add(new DataColumn("TypeID"));
sourse.Columns.Add(new DataColumn("TypeName"));
sourse.Columns.Add(new DataColumn("pic"));
string sqltype = "select distinct TypeID from Cartoon_Pic";
DataTable dttype = DataAccess.GetDataTable(sqltype);
for (int i = 0; i < dttype.Rows.Count; i++)
{
string typeid = dttype.Rows[i]["TypeID"].ToString();
string path = PubMethod.GetPath("72");
string sql = "select top 1 a.TypeID,b.TypeName,'" + path + "'+b.TypeName+'/'+a.Pic as pic from Cartoon_Pic as a,Cartoon_Type as b where a.TypeID='" + typeid + "' order by a.SerialNum asc";
DataTable dt = DataAccess.GetDataTable(sql);
if (dt.Rows.Count > 0)
{
DataRow dr = sourse.NewRow();
dr["TypeID"] = dt.Rows[0]["TypeID"].ToString();
dr["TypeName"] = dt.Rows[0]["TypeName"].ToString();
dr["pic"] = dt.Rows[0]["pic"].ToString();
sourse.Rows.Add(dr);
}
}
------解决方案--------------------
探讨

引用:
用第三个表,将t1,t2的a、b两列复制进去,与datalist绑定


行复制我会,列复制怎么复制?!

------解决方案--------------------
sql不会的,先fill,得到两个datatable,dt1、dt2,然后dt1.Merge(dt2),最后同dt1绑定。