http://blog.csdn.net/lovexiaoxiao/article/details/3734932
//在sql中我們使用distinct查詢不重復記錄
//然而我在項目中表關系的設置,就不能使用distinct,必須把數據讀出來以后才能進行查詢,下面寫了一個方法用Dataview實現這個功能
private void test()
{
DataTable dt = new DataTable();
//定義表結構
dt.Columns.Add("id", typeof(System.Int32));
dt.Columns.Add("name", typeof(System.String));
//添加第一行數據 (並且添加重復數據)
DataRow drs01 = dt.NewRow();
drs01[0] = 1;
drs01[1] = "xiaoyu";
dt.Rows.Add(drs01);
//添加第二行數據
DataRow drs02 = dt.NewRow();
drs02[0] = 2;
drs02[1] = "xiaowang";
dt.Rows.Add(drs02);
//添加第三行數據
DataRow drs03 = dt.NewRow();
drs03[0] = 3;
drs03[1] = "xiaoyu";
dt.Rows.Add(drs03);
//添加第四行數據
DataRow drs04 = dt.NewRow();
drs04[0] = 4;
drs04[1] = "yujinsheng";
dt.Rows.Add(drs04);
//將Table填充到DataView並添加新的數據
DataView dataView = new DataView(dt);
//沒有經過DataView 篩選的name
Response.Write("沒有篩選條件的數據<br/>");
foreach (DataRow dr in dataView.Table.Rows)
{
Response.Write(dr["name"]+"<br/>");
}
//經過DataView篩選name 字段不重復的數據
DataView myDataView = new DataView(dt);
string[] strComuns ={"name"};
DataTable nn= myDataView.ToTable(true, strComuns);
Response.Write("名字不重復的數據<br/>");
foreach (DataRow dr in nn.Rows)
{
Response.Write(dr["name"]+"<br/>");
}
}
運行效果:
沒有篩選條件的數據
xiaoyu
xiaowang
xiaoyu
yujinsheng
名字不重復的數據
xiaoyu
xiaowang
yujinsheng