第十一篇
这个才是根据单据查询按钮的主要逻辑
当然这个允许恶心不到人 看下一篇吧
1 #region sheetSearch --
2 private void GetSheet(string getCurrentSheetid, DataRow Row)
3 {
4 //step 2
5 DataTable table = SqlHelper.ExecuteDataTable(connString, @"select * from Uld_od_OrderHead where sheetid ='" + getCurrentSheetid + "'");
6
7 if (table.Rows.Count == 0)
8 return;
9
10 DataRow SheetHead = table.Rows[0];
11 Keyid = Convert.ToInt32(SheetHead["Keyid"]);
12
13 //step 3
14 String newSqlTree = sqlTree;
15 newSqlTree = newSqlTree + " AND [Keyid]= " + Keyid;
16 DataTable treeListTable = SqlHelper.ExecuteDataTable(connString, newSqlTree);
17
18 String newSqlGrid = sqlGrid;
19 newSqlGrid = newSqlGrid + " AND [Keyid]= " + Keyid;
20 DataTable gridListTable = SqlHelper.ExecuteDataTable(connString, newSqlGrid);
21
22 //step 4
23 if (SheetHead != null)
24 {
25 ClearControlValue(panelBottom);
26 ClearControlValue(panelTop);
27 }
28 if (TreeDataView != null && TreeDataView.Count > 0)
29 {
30 TreeDataView.Table.Clear();
31 TreeDataView.Table.AcceptChanges();
32 }
33 if (GridDataView != null && GridDataView.Count > 0)
34 {
35 GridDataView.Table.Clear();
36 GridDataView.Table.AcceptChanges();
37 }
38
39
40 //step 5
41 SheetSetValue(Row, panelBottom);
42 SheetHeadSetValue(SheetHead);
43
44
45 treeList1.DataSource = TreeDataView = treeListTable.DefaultView;
46 gridControl1.DataSource = GridDataView = gridListTable.DefaultView;
47
48 GridDataView.Table.AcceptChanges();
49 TreeDataView.Table.AcceptChanges();
50
51 //step 6
52 Object TempLineNo = TreeDataView.Table.Compute("max(lineno)", "");
53 int tempLineNo = TempLineNo.ToString().Equals("") ? 0 : (Int32)TempLineNo;
54
55
56 h = tempLineNo < 100 ? 100 : (tempLineNo / 50 + 1) * 50;
57
58 //step 7
59 hasDataChange = false;
60 UpdateAcitonState(AcitonState.SheetSearch);
61 if (dt11 != null && dt11.Rows.Count > 0)
62 {
63 FirstSheet.Enabled= PriviewSheet.Enabled = dt11.Select("单据编号 < '" + Row["单据编号"] +
64
65 "'").Length > 0;
66
67 LastSheet.Enabled= NextSheet.Enabled = dt11.Select("单据编号 > '" + Row["单据编号"] + "'").Length >
68
69 0;
70 }
71 }
2 private void GetSheet(string getCurrentSheetid, DataRow Row)
3 {
4 //step 2
5 DataTable table = SqlHelper.ExecuteDataTable(connString, @"select * from Uld_od_OrderHead where sheetid ='" + getCurrentSheetid + "'");
6
7 if (table.Rows.Count == 0)
8 return;
9
10 DataRow SheetHead = table.Rows[0];
11 Keyid = Convert.ToInt32(SheetHead["Keyid"]);
12
13 //step 3
14 String newSqlTree = sqlTree;
15 newSqlTree = newSqlTree + " AND [Keyid]= " + Keyid;
16 DataTable treeListTable = SqlHelper.ExecuteDataTable(connString, newSqlTree);
17
18 String newSqlGrid = sqlGrid;
19 newSqlGrid = newSqlGrid + " AND [Keyid]= " + Keyid;
20 DataTable gridListTable = SqlHelper.ExecuteDataTable(connString, newSqlGrid);
21
22 //step 4
23 if (SheetHead != null)
24 {
25 ClearControlValue(panelBottom);
26 ClearControlValue(panelTop);
27 }
28 if (TreeDataView != null && TreeDataView.Count > 0)
29 {
30 TreeDataView.Table.Clear();
31 TreeDataView.Table.AcceptChanges();
32 }
33 if (GridDataView != null && GridDataView.Count > 0)
34 {
35 GridDataView.Table.Clear();
36 GridDataView.Table.AcceptChanges();
37 }
38
39
40 //step 5
41 SheetSetValue(Row, panelBottom);
42 SheetHeadSetValue(SheetHead);
43
44
45 treeList1.DataSource = TreeDataView = treeListTable.DefaultView;
46 gridControl1.DataSource = GridDataView = gridListTable.DefaultView;
47
48 GridDataView.Table.AcceptChanges();
49 TreeDataView.Table.AcceptChanges();
50
51 //step 6
52 Object TempLineNo = TreeDataView.Table.Compute("max(lineno)", "");
53 int tempLineNo = TempLineNo.ToString().Equals("") ? 0 : (Int32)TempLineNo;
54
55
56 h = tempLineNo < 100 ? 100 : (tempLineNo / 50 + 1) * 50;
57
58 //step 7
59 hasDataChange = false;
60 UpdateAcitonState(AcitonState.SheetSearch);
61 if (dt11 != null && dt11.Rows.Count > 0)
62 {
63 FirstSheet.Enabled= PriviewSheet.Enabled = dt11.Select("单据编号 < '" + Row["单据编号"] +
64
65 "'").Length > 0;
66
67 LastSheet.Enabled= NextSheet.Enabled = dt11.Select("单据编号 > '" + Row["单据编号"] + "'").Length >
68
69 0;
70 }
71 }