DataTable.Select(expression)
1
/// <summary>
2
/// 从DataTable中查询数据
3
/// </summary>
4
/// <param name="tb">待处理的DataTable</param>
5
/// <param name="expression">找匹配(条件)(不用where ,直接就"什么=什么")</param>
6
/// <returns>符合你条件的DataTable</returns>
7
public DataTable GetDataTableByFilter(DataTable tb, string expression)
8
{
9
DataRow[] foundRows;
10
try
11
{
12
foundRows = tb.Select(expression);
13
}
14
catch (Exception err)
15
{
16
throw err;
17
}
18
return CopyData(foundRows, tb);
19
}
20
21
22
/// <summary>
23
/// 复制数据,深度复制
24
/// </summary>
25
/// <param name="dataSourceRow">数据源,待复制的数据</param>
26
/// <param name="dataStruct">数据结构/表结构</param>
27
/// <returns>处理后的DataTable</returns>
28
private DataTable CopyData(DataRow[] dataSourceRow, DataTable dataStruct)
29
{
30
DataTable dataTable = new DataTable();
31
//定义表结构
32
DataColumn col;
33
foreach (DataColumn column in dataStruct.Columns)
34
{
35
col = new DataColumn();
36
col.ColumnName = column.ColumnName;
37
col.DataType = column.DataType;
38
//add column
39
dataTable.Columns.Add(col);
40
}
41
foreach (DataRow row in dataSourceRow)
42
{
43
DataRow tempRow = dataTable.NewRow();
44
foreach (DataColumn column in dataStruct.Columns)
45
{
46
try
47
{
48
tempRow[column.ColumnName] = row[column.ColumnName];
49
}
50
catch
51
{ continue; }
52
}
53
dataTable.Rows.Add(tempRow);
54
}
55
return dataTable;
56
}
DataTable.Select(expression)-ListView-BackColor
/// <summary>2
/// 从DataTable中查询数据3
/// </summary>4
/// <param name="tb">待处理的DataTable</param>5
/// <param name="expression">找匹配(条件)(不用where ,直接就"什么=什么")</param>6
/// <returns>符合你条件的DataTable</returns>7
public DataTable GetDataTableByFilter(DataTable tb, string expression)8
{9
DataRow[] foundRows;10
try11
{12
foundRows = tb.Select(expression);13
}14
catch (Exception err)15
{16
throw err;17
}18
return CopyData(foundRows, tb);19
}20

21

22
/// <summary>23
/// 复制数据,深度复制24
/// </summary>25
/// <param name="dataSourceRow">数据源,待复制的数据</param>26
/// <param name="dataStruct">数据结构/表结构</param>27
/// <returns>处理后的DataTable</returns>28
private DataTable CopyData(DataRow[] dataSourceRow, DataTable dataStruct)29
{30
DataTable dataTable = new DataTable();31
//定义表结构32
DataColumn col;33
foreach (DataColumn column in dataStruct.Columns)34
{35
col = new DataColumn();36
col.ColumnName = column.ColumnName;37
col.DataType = column.DataType;38
//add column39
dataTable.Columns.Add(col);40
}41
foreach (DataRow row in dataSourceRow)42
{43
DataRow tempRow = dataTable.NewRow();44
foreach (DataColumn column in dataStruct.Columns)45
{46
try47
{48
tempRow[column.ColumnName] = row[column.ColumnName];49
}50
catch51
{ continue; }52
}53
dataTable.Rows.Add(tempRow);54
}55
return dataTable;56
}http://hi.baidu.com/wt0731/blog/item/77bd9935bb22911091ef3984.html
为成功找方法,不为失败找借口!



浙公网安备 33010602011771号