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
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

http://hi.baidu.com/wt0731/blog/item/77bd9935bb22911091ef3984.html
为成功找方法,不为失败找借口!