using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
using SQLHelper; 
 | 
using Pub_Class; 
 | 
  
 | 
namespace WarM 
 | 
{ 
 | 
    public partial class KF_ICInventoryList : Form 
 | 
    { 
 | 
        private int HItemIDCol = 0; 
 | 
        private int HNumberCol = 0; 
 | 
        public DBUtility.frmBillQueryCondition_New  frmCondition; 
 | 
        const string ViewName = "h_v_KF_ICInventoryList"; 
 | 
        const string ModName = "物料"; 
 | 
        //权限 
 | 
        public const string ModRightName = "KF_ICInventory"; 
 | 
        public const string ModRightNameEdit = ModRightName + "_Edit"; 
 | 
        public const string ModRightNameCheck = ModRightName + "_Check"; 
 | 
        // 
 | 
        public DBUtility.ClsPub.Enum_InputModeGroup InputMode;  //录入状态标志  
 | 
        public long  HItemID;//项目ID 
 | 
        public long HItemGroupID; 
 | 
        ClsCN oCn = new ClsCN(); 
 | 
        ClsCNK3 oCnK3 = new ClsCNK3(); 
 | 
        ClsGridListSum oSumGrid = new ClsGridListSum();  //new 
 | 
         
 | 
        TreeNode CurNode = new TreeNode(); 
 | 
        ClsPub oPub = new ClsPub(); 
 | 
        //拆分字符 
 | 
        char spChar =Convert.ToChar( "~"); 
 | 
        
 | 
        public KF_ICInventoryList() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
  
 | 
  
 | 
        //以下代码基本不需要修改 
 | 
        #region 固定代码 
 | 
        private void ck_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            ck.Checked = true; 
 | 
            wl.Checked = false; 
 | 
            LoadTree(); 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        private void wl_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            ck.Checked = false; 
 | 
            wl.Checked = true; 
 | 
            LoadTree(); 
 | 
            Display(); 
 | 
        } 
 | 
        //窗体加载 
 | 
        private void KF_ICInventory_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            lblCaption.Text = ModName; 
 | 
            this.Text = ModName; 
 | 
            frmCondition = new DBUtility.frmBillQueryCondition_New(); 
 | 
            oSumGrid.ogrdMain = grdMain;  //初始化 new 
 | 
            oSumGrid.oGridsum = grdSum; 
 | 
            LoadTree(); 
 | 
            initGrid(); 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputModeGroup.InputMode_View; 
 | 
        } 
 | 
        //退出模块 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Close(); 
 | 
        } 
 | 
        //刷新 
 | 
        private void xs_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Display(); 
 | 
        } 
 | 
        //查询 
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            frmCondition = new DBUtility.frmBillQueryCondition_New(); 
 | 
            frmCondition.Tag = ""; 
 | 
            frmCondition.ViewName = ViewName; 
 | 
            frmCondition.ModName = this.Name; 
 | 
            frmCondition.ShowDialog(); 
 | 
            if (frmCondition.Tag.ToString() == "OK") 
 | 
            { 
 | 
                Display(); 
 | 
            } 
 | 
        } 
 | 
        //得到对应列 
 | 
        private Int32 Fun_GetCol(string sCol) 
 | 
        { 
 | 
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); 
 | 
        } 
 | 
         
 | 
        
 | 
          
 | 
        //树型 单击 
 | 
        private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 
 | 
        { 
 | 
            CurNode = e.Node; 
 | 
            if (CurNode != null) 
 | 
            { 
 | 
                if (CurNode.Nodes.Count == 0) 
 | 
                { 
 | 
                    LoadAllNodes(CurNode); 
 | 
                } 
 | 
                frmCondition.SqlStr = ""; 
 | 
                //找到选中结点 
 | 
                Display(); 
 | 
            } 
 | 
  
 | 
        } 
 | 
         
 | 
       
 | 
        
 | 
        //选中行是否正常 
 | 
        private bool AllowRow() 
 | 
        { 
 | 
            if (grdMain.CurrentRow.Index >= 0 && grdMain.CurrentRow.Index <= grdMain.RowCount - 1) 
 | 
                return true; 
 | 
            else 
 | 
                return false; 
 | 
        } 
 | 
  
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            //保存列宽 
 | 
            ClsPub.SaveGridView(grdMain, this.Name, ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        private void mrlk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); 
 | 
        } 
 | 
        //时间控件 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            Display(); 
 | 
        } 
 | 
        
 | 
        //初始化GRID 
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridRpt(grdMain, this.Name); 
 | 
        } 
 | 
         
 | 
        
 | 
        #endregion 
 | 
  
 | 
        //显示列表 
 | 
        private void Display() 
 | 
        { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet ; 
 | 
            string sSql = ""; 
 | 
            string sWhere = ""; 
 | 
            string HParentID =""; 
 | 
            //树形节点 
 | 
            if (CurNode.Name.Trim().Length == 0) 
 | 
            { 
 | 
                HParentID =""; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                char c = Convert.ToChar(spChar); 
 | 
                string[] sr; 
 | 
                sr = CurNode.Text.Split(c); 
 | 
                HParentID = sr[0].ToString(); 
 | 
            }  
 | 
            //过滤条件 
 | 
            if (frmCondition.SqlStr.Trim().Length == 0) 
 | 
            { 
 | 
                if (HParentID == "" || HParentID == "物料资料" || HParentID == "仓库资料") 
 | 
                { 
 | 
                    sSql = "Select top 1000 * from " + ViewName +" where 1=1 "+ sWhere + " order by " + ModName + "代码"; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    if (wl.Checked == false) 
 | 
                    { 
 | 
                        sSql = "Select top 1000 * from " + ViewName + " where 仓库代码 like '" + HParentID.ToString() + "%' " + sWhere + " order by " + ModName + "代码"; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        sSql = "Select top 1000 * from " + ViewName + " where 物料代码 like '" + HParentID.ToString() + "%' " + sWhere + " order by " + ModName + "代码"; 
 | 
                    } 
 | 
  
 | 
                } 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                sSql = frmCondition.SqlStr + " " + sWhere + " order by " + ModName + "代码"; 
 | 
            } 
 | 
            //执行SQL 
 | 
            DSet = SubCn.RunProcReturn(sSql, ViewName); 
 | 
            //生成首行标题 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + ClsPub.sExeReturnInfo); 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            for (int i = 0; i < grdMain.ColumnCount; i++) 
 | 
            { 
 | 
                grdMain.Columns[i].Frozen = false; 
 | 
            } 
 | 
            // 
 | 
            grdMain.DataSource = DSet.Tables[0].DefaultView; 
 | 
            //设置合计列 new 
 | 
            string sTotalCol = ""; 
 | 
            sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet); 
 | 
            string[] sT; 
 | 
            sT = sTotalCol.Split(Convert.ToChar(",")); 
 | 
            oSumGrid.BuildTotalCols(sT); 
 | 
            //   
 | 
            //合计 
 | 
            //grdMain.Rows.Add(); 
 | 
  
 | 
            //加载列宽,隐藏列 
 | 
            DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, "是", 0); 
 | 
            //int HColourCol = Fun_GetCol("HColour"); 
 | 
            //设置字体颜色 
 | 
            //for (int i = 0; i < grdMain.RowCount; i++) 
 | 
            //{ 
 | 
            //    if (ClsPub.isStrNull(grdMain.Rows[i].Cells[HColourCol].Value) == "Red") 
 | 
            //    { 
 | 
            //        //当及时库存小于最低库存时,字体显示红色 
 | 
            //        grdMain.Rows[i].DefaultCellStyle.ForeColor = Color.Red; 
 | 
            //    } 
 | 
            //    if (ClsPub.isStrNull(grdMain.Rows[i].Cells[HColourCol].Value) == "Yellow") 
 | 
            //    { 
 | 
            //        //当及时库存大于最高库存时,字体显示黄色 
 | 
            //        grdMain.Rows[i].DefaultCellStyle.ForeColor = Color.Orange; 
 | 
            //    } 
 | 
            //} 
 | 
            ClsPub.GetGridView(this.grdMain, this.Name, ClsPub.AppPath); 
 | 
            //画线 
 | 
            GraphLine(); 
 | 
            //冻结 
 | 
            //int FrCol = ClsPub.isInt(frmCondition.txtFrozenCol.Text); 
 | 
            //if (FrCol < grdMain.ColumnCount) 
 | 
            //{ 
 | 
            //    grdMain.Columns[FrCol].Frozen = true; 
 | 
            //} 
 | 
            // new 
 | 
            Total(); 
 | 
        } 
 | 
        //划线 
 | 
        private void GraphLine() 
 | 
        { 
 | 
              
 | 
        } 
 | 
        //加载子结点 
 | 
        private void LoadAllNodes(TreeNode sNode) 
 | 
        { 
 | 
            string sBill; 
 | 
            if (wl.Checked == true) 
 | 
                sBill = "h_v_K3_Material_IC"; 
 | 
            else 
 | 
                sBill = "h_v_K3_WareHouse"; 
 | 
            if (sNode != null) 
 | 
            { 
 | 
                try 
 | 
                { 
 | 
                    sNode.Nodes.Clear(); 
 | 
                    DataSet Ds = oCn.RunProcReturn("select hitemid,hnumber,hname from " + sBill + "  where HStopflag=0 and HParentID=" + sNode.Name.Trim().Substring(1, sNode.Name.Trim().Length-1) + " order by HNumber ", sBill); 
 | 
                    for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) 
 | 
                    { 
 | 
                        TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["HItemID"].ToString(), Ds.Tables[0].Rows[i]["HNumber"].ToString() + spChar + Ds.Tables[0].Rows[i]["HName"].ToString(), 0, 1); 
 | 
                    } 
 | 
                    sNode.Expand(); 
 | 
                } 
 | 
                catch (Exception e) 
 | 
                { 
 | 
                    MessageBox.Show("加载子项目失败!" + e.Message, "提示"); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        //加载树形 
 | 
        private void LoadTree() 
 | 
        { 
 | 
            string sItemName; 
 | 
            if (wl.Checked == true) 
 | 
            { 
 | 
                sItemName = "物料资料"; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                sItemName = "仓库资料"; 
 | 
            } 
 | 
            try 
 | 
            { 
 | 
                tv.Nodes.Clear(); 
 | 
                tv.ImageList = imageList1; 
 | 
                TreeNode sNode = tv.Nodes.Add("T0", sItemName, 0, 1); 
 | 
                LoadAllNodes(sNode); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show("加载树型失败!" + e.Message, "提示"); 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        //合计 new 
 | 
        private void Total() 
 | 
        { 
 | 
            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) 
 | 
            { 
 | 
                oSumGrid.SetGridsum(); 
 | 
                oSumGrid.Total(); 
 | 
            } 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    } 
 | 
} 
 |