第十一篇

这个才是根据单据查询按钮的主要逻辑

当然这个允许恶心不到人 看下一篇吧

 

 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         }

 

 

posted @ 2011-07-29 18:28  Ry5  阅读(208)  评论(0编辑  收藏  举报