我有一个数据列表,其中我显示来自两个不同表格的记录,如
string outBox = "Select DISTINCT ToUserID from OutboxMessages WHERE FromUserID = '" + Session["UserId"].ToString() + " ' ";
String inBox = "Select DISTINCT FromUserID from InboxMessages WHERE ToUserID = '" + Session["UserId"].ToString() + " ' ";
con = new SqlConnection("Data Source=(local);Initial Catalog=EventOrganizer;Integrated Security=True");
da = new SqlDataAdapter(outBox, con);
da.Fill(ds1, "Record");
da = new SqlDataAdapter(inBox, con);
da.Fill(ds2, "Record");
ds1.Merge(ds2);
GridView2.DataSource = ds1;
GridView2.DataBind();
DataList1.DataSource = ds1;
DataList1.DataBind();
output is:
FromUserID ToUserID
3
7
2
7
看到7出现两次我希望它只出现一次..任何想法??
答案 0 :(得分:0)
使用Original表中的过滤数据创建一个新表,并将该新表绑定到datalist。
下面的示例首先创建一个新表
DataTable dt = new DataTable();
dt.Columns.Add("FromUserID", typeof(string));
dt.Columns.Add("ToUserID", typeof(string));
if(ds1.Tables[0].Rows.Count > 0)
{
foreach(DataRow rw in ds1.Tables[0].Rows)
{
if(rw["FromUserID"] != rw["ToUserID"])
{
dt.Rows.Add(rw["FromUserID"].ToString(), rw["ToUserID"].ToString());
}
else
{
dt.Rows.Add(rw["FromUserID"].ToString(), "");
}
}
}
将这个新创建的表绑定到datalist
DataList1.DataSource = dt;
DataList1.DataBind();