private void LoadListData(string keyword, string itemNumber) { DataTable table; string sqlString = @" SELECT t1.FNumber, --t1.FLevel, --t1.FAccessory, t1.FName, --t1.FShortNumber, t1.FFullName, t1.FItemID --t1.FUseSign, --t1.FChkUserID, --T888.FName AS FChkUserName, --t1.FDetail, --t1.FDeleteD, --t3.FModel FROM dbo.t_Item t1 LEFT JOIN t_ICItem t3 ON t1.FItemID = t3.FItemID LEFT JOIN t_User T888 ON t1.FChkUserID = T888.FUserID WHERE t1.FItemID IN (SELECT t1.FItemID FROM t_Item t1 WITH(INDEX(uk_Item2)) LEFT JOIN t_ICItem x2 ON t1.FItemID = x2.FItemID WHERE FItemClassID = {0} AND t1.FDetail = 1"; sqlString = string.Format(sqlString, ICClassTypeID.ToString()); if (!string.IsNullOrEmpty(itemNumber)) { sqlString = sqlString + "\n" + "AND (t1.FNumber LIKE '{0}.%') AND t1.FDeleteD = 0)"; sqlString = string.Format(sqlString, itemNumber); } if (!string.IsNullOrEmpty(keyword)) { sqlString = sqlString + "AND (t1.FName like '%{0}%' OR t1.FNumber like '%{0}%'))"; sqlString = string.Format(sqlString, keyword); } DBUnitInstances.Run(sqlString, out table); dataGridViewMain.DataSource = table; }
private void initTree() { DataTable table; DBUnitInstances.Run(@"SELECT t1.FItemID,t1.FParentID,t1.FNumber,t1.FName,t1.FDetail,t1.FShortNumber From t_item t1 WHERE FItemClassID = {0} AND t1.FDeleteD=0 AND ( t1.FDetail=0 and t1.FParentID = 0)", out table, ICClassTypeID.ToString()); TreeNode root = new TreeNode() { Name = "root", Text = "基础资料", Tag = new ItemEntity() { ItemID = 0, Name = "root", Number = "0" }, }; root.Expand(); for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++) { var item = table.Rows[rowIndex]; var child = new TreeNode() { Name = item["FNumber"].ToString(), Text = item["FName"].ToString(), Tag = new ItemEntity() { ItemID = Convert.ToInt32(item["FItemID"]), Name = item["FName"].ToString(), Number = item["FNumber"].ToString() }, }; child.Nodes.Add(new TreeNode()); root.Nodes.Add(child); } treeViewMain.Nodes.Add(root); }
private void treeViewMain_BeforeExpand(object sender, TreeViewCancelEventArgs e) { ItemEntity itemEntity = (ItemEntity)e.Node.Tag; if (itemEntity.ItemID == 0) { return; } if (e.Node.Nodes.Count != 0 && (e.Node.Nodes[0].Tag as ItemEntity) != null) { return; } DataTable table; DBUnitInstances.Run(@"SELECT t1.FItemID,t1.FParentID,t1.FNumber,t1.FName,t1.FDetail,t1.FShortNumber From t_item t1 WHERE FItemClassID = {0} AND t1.FDeleteD=0 AND ( t1.FDetail=0 and t1.FParentID = {1} )", out table, ICClassTypeID.ToString(), itemEntity.ItemID.ToString()); e.Node.Nodes.Clear(); for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++) { var item = table.Rows[rowIndex]; var child = new TreeNode() { Name = item["FNumber"].ToString(), Text = item["FName"].ToString(), Tag = new ItemEntity() { ItemID = Convert.ToInt32(item["FItemID"].ToString()), Name = item["FName"].ToString(), Number = item["FNumber"].ToString() } }; child.Nodes.Add(new TreeNode()); e.Node.Nodes.Add(child); } }