| using System; | 
| using System.Collections.Generic; | 
| using System.ComponentModel; | 
| using System.Data; | 
| using System.Drawing; | 
| using System.Text; | 
| using System.Windows.Forms; | 
| using gregn6Lib; | 
| using Pub_Class; | 
|   | 
| namespace SCM | 
| { | 
|     public partial class Gy_UserORGRelation : Form | 
|     { | 
|         public Gy_UserORGRelation() | 
|         { | 
|             InitializeComponent(); | 
|         } | 
|         //定义 | 
|         public const Int16 HTagCol = 0; | 
|         public const Int16 HSnoCol = 1; | 
|         public const Int16 HORGIDCol = 2; | 
|         public const Int16 HORGNumberCol = 3; | 
|         public const Int16 HORGNameCol = 4;   | 
|         public const Int16 HRemarkCol = 5; | 
|         public const Int16 HUserIDCol = 6; | 
|         public const Int16 HUserNumberCol = 7; | 
|         public const Int16 HUserNameCol = 8;     | 
|         public bool BillChange;   // | 
|         public DBUtility.ClsPub.Enum_OKTag OkTag; | 
|         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|         public Int64 KeyID; | 
|         public const string ModName = "用户组织权限表"; | 
|         //权限 | 
|         public const string ModRightName = "Gy_UserORGRelation"; | 
|         public const string ModRightNameEdit = ModRightName + "_Edit"; | 
|         public const string ModRightNameCheck = ModRightName + "_Check"; | 
|         // | 
|         public bool grdStatus; | 
|         public SCM.ClsGy_UserORGRelation_Ctl BillNew = new SCM.ClsGy_UserORGRelation_Ctl(); | 
|         public SCM.ClsGy_UserORGRelation_Model BillOld = new SCM.ClsGy_UserORGRelation_Model(); | 
|         ClsGridViewSum oSumGrid = new ClsGridViewSum(); | 
|         //------------------------------------------------------------------------- | 
|         #region 固定代码 | 
|   | 
|         private void Total() | 
|         { | 
|             oSumGrid.Total(); | 
|         } | 
|   | 
|         private void bclk_Click(object sender, EventArgs e) | 
|         { | 
|             //保存列宽 | 
|             DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name); | 
|         } | 
|   | 
|         private void mrlk_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); | 
|         } | 
|         //清空界面 | 
|         public void Sub_ClearBill() | 
|         { | 
|             //清空界面控件 for 控件    | 
|             foreach (Control ct in gbUp.Controls) | 
|             { | 
|                 switch (ct.GetType().Name) | 
|                 { | 
|                     case "ListBox": | 
|                         ((ListBox)ct).Items.Clear(); | 
|                         break; | 
|                     case "CheckBox": | 
|                         ((CheckBox)ct).Checked = false; | 
|                         break; | 
|                     case "RadioButton": | 
|   | 
|                         break; | 
|                     case "ComboBox": | 
|                         ((ComboBox)ct).SelectedIndex = 0; | 
|                         break; | 
|                     //case "TextBox": | 
|                     //    ((TextBox)ct).Text = ""; | 
|                     //    break; | 
|                     case "DateTimePicker": | 
|                         ((DateTimePicker)ct).Value = DateTime.Today; | 
|                         break; | 
|                     default: | 
|                         break; | 
|                 } | 
|             } | 
|             // | 
|             initGrid(); | 
|         } | 
|         //编辑单据 | 
|         private void Sub_EditBill() | 
|         { | 
|             ////删除权限 | 
|             //if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName)) | 
|             //{ | 
|             //    return; | 
|             //} | 
|             //if (BillOld.HChecker != "" && BillOld.HChecker != null) | 
|             //{ | 
|             //    MessageBox.Show("此单据已经被审核,不允许修改", "提示"); | 
|             //    return; | 
|             //} | 
|             ////if (this.BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Viewonly) | 
|             ////{ | 
|             ////    MessageBox.Show("此单据已经被审核,不允许修改", "提示"); | 
|             ////    return; | 
|             ////} | 
|             //this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify; | 
|             //this.Sub_OperStatus(); | 
|              | 
|         } | 
|         //删除单据 | 
|         private void Sub_DeleteBill() | 
|         { | 
|             ////删除权限 | 
|             //if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName)) | 
|             //{ | 
|             //    return; | 
|             //} | 
|             //// | 
|             //if (BillOld.HChecker != "" && BillOld.HChecker != null) | 
|             //{ | 
|             //    MessageBox.Show("此单据已经被审核,不允许删除", "提示"); | 
|             //    return; | 
|             //} | 
|             ////if (this.BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Viewonly) | 
|             ////{ | 
|             ////    MessageBox.Show("此单据已经被审核,不允许删除", "提示"); | 
|             ////    return; | 
|             ////} | 
|             //if (MessageBox.Show("确定要删除当前单据?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) | 
|             //{ | 
|             //    if (BillNew.DeleteByID(BillOld.HItemID) != true) | 
|             //    { | 
|             //        BillChange = true; | 
|             //        MessageBox.Show("删除失败,原因:" + ClsPub.sExeReturnInfo, "提示"); | 
|             //        return; | 
|             //    } | 
|             //    MessageBox.Show("删除成功", "提示"); | 
|             //    BillOld = new Model.ClsGy_UserORGRelation_Model(); | 
|             //    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; | 
|             //    this.Sub_OperStatus(); | 
|             //} | 
|   | 
|         } | 
|         //离开单元格 | 
|   | 
|         private void grdMain_LeaveCell(object sender, EventArgs e) | 
|         { | 
|             oSumGrid.LeaveCell(); | 
|         } | 
|        | 
|          | 
|         //网格单元格变化事件 | 
|         private void grdMain_RowColChange(object sender, EventArgs e) | 
|         { | 
|             // | 
|             if (!grdStatus) | 
|             { | 
|                 return; | 
|             } | 
|             oSumGrid.SetGridsum(); | 
|             oSumGrid.Total(); | 
|             // | 
|             //if (oSumGrid.Changelock) | 
|             //    return; | 
|             //if(oSumGrid.EditStatus) | 
|             //{ | 
|                 if (!CheckGridRow(oSumGrid.OldCell.Row)) | 
|                     return; | 
|             //} | 
|              | 
|         } | 
|         | 
|         private void Gy_UserORGRelation_Paint(object sender, PaintEventArgs e)//画线 | 
|         { | 
|            //控件位置设置 | 
|   | 
|         } | 
|         //控件位置 | 
|         private void Sub_ControlLocation() | 
|         { | 
|             gbUp.Width = P1.Width - 20; | 
|             gbUp.Left = 10; | 
|             gbUp.Height = P1.Height - 35; | 
|             gbUp.Top = 30; | 
|         } | 
|         //窗体加载 | 
|         private void Gy_UserORGRelation_Load(object sender, EventArgs e) | 
|         { | 
|             //打印初始化     | 
|             oSumGrid.NoCol = HSnoCol; | 
|             oSumGrid.ogrdMain = grdMain; | 
|             oSumGrid.oGridsum = grdSum; | 
|             lblCaption.Text = ModName; | 
|             this.Text = ModName; | 
|         } | 
|         | 
|         //审核单据 | 
|         private void Sub_CheckBill() | 
|         { | 
|             //if (BillNew.CheckBill(BillOld.HItemID, ref ClsPub.sExeReturnInfo) == true) | 
|             //{ | 
|             //    BillChange = true; | 
|             //    txtHChecker.Text = ClsPub.CurUserName; | 
|             //    txtHCheckDate.Text = BillOld.HCheckDate; | 
|             //    BillOld.HChecker = ClsPub.CurUserName; | 
|             //    BillOld.HCheckDate = ClsPub.GetServerDate(-1); | 
|             //    this.Sub_OperStatus();//刷新TOOL按钮 | 
|             //} | 
|             //else | 
|             //{ | 
|             //    MessageBox.Show("审核失败!原因:" + ClsPub.sExeReturnInfo, "提示"); | 
|             //} | 
|         } | 
|         //反审单据 | 
|         private void Sub_AbandonCheck() | 
|         { | 
|             //if (BillNew.AbandonCheck(BillOld.HItemID, ref ClsPub.sExeReturnInfo) == true) | 
|             //{ | 
|             //    BillChange = true; | 
|             //    txtHChecker.Text = ""; | 
|             //    txtHCheckDate.Text = ""; | 
|             //    BillOld.HChecker =""; | 
|             //    BillOld.HCheckDate =""; | 
|             //    this.Sub_OperStatus();//刷新TOOL按钮 | 
|             //} | 
|             //else | 
|             //{ | 
|             //    MessageBox.Show("反审核失败!原因:" + ClsPub.sExeReturnInfo, "提示"); | 
|             //} | 
|         } | 
|          | 
|          | 
|         //新增按纽 | 
|         private void xz_Click(object sender, EventArgs e) | 
|         { | 
|             this.Sub_AddBill(); | 
|         } | 
|         //修改按纽 | 
|         private void xg_Click(object sender, EventArgs e) | 
|         { | 
|             this.Sub_EditBill(); | 
|         } | 
|         //删除按钮 | 
|         private void sc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Sub_DeleteBill(); | 
|         } | 
|         //保存按钮 | 
|         private void bc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Sub_SaveBill(); | 
|         } | 
|         | 
|         //审核按钮 | 
|         private void sh_Click(object sender, EventArgs e) | 
|         { | 
|             this.Sub_CheckBill(); | 
|         } | 
|         //放弃审核按钮 | 
|         private void qsh_Click(object sender, EventArgs e) | 
|         { | 
|             this.Sub_AbandonCheck(); | 
|         } | 
|         | 
|         //退出按钮 | 
|         private void tc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Close(); | 
|         } | 
|   | 
|         //窗体尺寸变化时 | 
|         private void Gy_UserORGRelation_Resize(object sender, EventArgs e) | 
|         { | 
|             Sub_ControlLocation(); | 
|         } | 
|   | 
|         //根据编辑状态 设置 控件是否允许录入     | 
|         private void Sub_LrtextStatus(bool TextEnabled) | 
|         { | 
|             if (TextEnabled == true) | 
|             { | 
|                 //控件全部有效 | 
|                 gbUp.Enabled = true; | 
|   | 
|             } | 
|             else | 
|             {   //控件全部无效 | 
|                 gbUp.Enabled = false; | 
|   | 
|             } | 
|         } | 
|         | 
|         //timer | 
|         private void timer1_Tick(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = false; | 
|             Sub_ControlLocation();  | 
|             this.Sub_ShowBill();  | 
|             oSumGrid.SetGridsum(); | 
|   | 
|         } | 
|         //窗体卸载 | 
|         private void Gy_UserORGRelation_FormClosing(object sender, FormClosingEventArgs e) | 
|         { | 
|             BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; | 
|         } | 
|         //新增单据 | 
|         private void Sub_AddBill() | 
|         { | 
|             this.BillNew = new SCM.ClsGy_UserORGRelation_Ctl(); | 
|             this.BillOld = new SCM.ClsGy_UserORGRelation_Model(); | 
|             this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; | 
|             this.Sub_OperStatus();//设置TOOLBAR | 
|             this.Sub_ClearBill();//清空界面 | 
|             | 
|         } | 
|         //TOOLBAR状态  按钮是否灰度 | 
|         public void Sub_OperStatus() | 
|         { | 
|             switch (BillStatus) | 
|             { | 
|                 case DBUtility.ClsPub.Enum_BillStatus.BillStatus_View: | 
|                 //case DBUtility.ClsPub.Enum_BillStatus.BillStatus_Viewonly: | 
|                     //浏览状态 | 
|                     yl.Enabled = true; | 
|                     xz.Enabled = true; | 
|                     //xg.Enabled = true; | 
|                     //sc.Enabled = true; | 
|                     AddRow.Enabled = false; | 
|                     DelRow.Enabled = false; | 
|                     bc.Enabled = false; | 
|                     tc.Enabled = true; | 
|                     //未审核 | 
|                     if (txtHChecker.Text.Trim() == "") | 
|                     { | 
|                         //xg.Enabled = true; | 
|                         //sc.Enabled = true; | 
|                     } | 
|                     else | 
|                     { | 
|                         //xg.Enabled = false; | 
|                         //sc.Enabled = false; | 
|                     } | 
|                     Sub_LrtextStatus(false); | 
|                     grdStatus = false; | 
|                     break; | 
|                 case DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew: | 
|                     //新增状态 | 
|                     yl.Enabled = false; | 
|                     xz.Enabled = false; | 
|                     //xg.Enabled = false; | 
|                     //sc.Enabled = false; | 
|                     AddRow.Enabled = true; | 
|                     DelRow.Enabled = true; | 
|                     bc.Enabled = true; | 
|                     tc.Enabled = true; | 
|                     Sub_LrtextStatus(true); | 
|                     grdStatus = true; | 
|                     break; | 
|                 case DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify: | 
|                     //修改状态 | 
|                     yl.Enabled = false; | 
|                     xz.Enabled = false; | 
|                     //xg.Enabled = false; | 
|                     //sc.Enabled = false; | 
|                     AddRow.Enabled = true; | 
|                     DelRow.Enabled = true; | 
|                     bc.Enabled = true; | 
|                     tc.Enabled = true; | 
|                     Sub_LrtextStatus(true); | 
|                     grdStatus = true; | 
|                     break; | 
|             } | 
|   | 
|         } | 
|         #endregion  | 
|   | 
|         #region  读写类 | 
|         //显示单据 | 
|         public void Sub_ShowBill() | 
|         { | 
|             SCM.ClsCLD_ORG_View oORG = new SCM.ClsCLD_ORG_View();  | 
|             //判断是否存在单据 | 
|             if(BillNew.ShowBill(txtHUserID.Text,ref  ClsPub.sExeReturnInfo)==false ) | 
|             { | 
|                 Sub_AddBill(); | 
|                 return; | 
|             } | 
|             //清空 | 
|             Sub_ClearBill(); | 
|             //grid禁止刷新 | 
|             //加载表头 | 
|              | 
|             // | 
|             BillStatus  = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify; | 
|             //this.txtHUserID.Text = BillOld.HUserID.ToString(); | 
|   | 
|             //加载表体 | 
|             initGrid(); | 
|             int i = 0; | 
|             foreach (SCM.ClsGy_UserORGRelation_Model oSub in BillNew.DetailColl) | 
|             { | 
|                 | 
|                 // | 
|                 if (i >= grdMain.RowCount - 1) | 
|                     grdMain.Rows.Add(); | 
|                 grdMain.Rows[i].Cells[HTagCol].Value = "*"; | 
|                 grdMain.Rows[i].Cells[HORGIDCol].Value = oSub.HORGID.ToString(); | 
|                 if (oORG.GetInfoByID( DBUtility.ClsPub.isLong( oSub.HORGID))) | 
|                 { | 
|                     grdMain.Rows[i].Cells[HORGNumberCol].Value = oORG.omodel.HNumber; | 
|                     grdMain.Rows[i].Cells[HORGNameCol].Value = oORG.omodel.HName;                     | 
|                 } | 
|                 else | 
|                 { | 
|                     grdMain.Rows[i].Cells[HORGNumberCol].Value = ""; | 
|                     grdMain.Rows[i].Cells[HORGNameCol].Value = "";                     | 
|                 } | 
|                 //             | 
|                 // | 
|                 //grdMain.Rows[i].Cells[HUserIDCol].Value = oSub.HUserID.ToString(); | 
|                 //if (oUser.GetInfoByID(oSub.HUserID)) | 
|                 //{ | 
|                 //    grdMain.Rows[i].Cells[HUserNumberCol].Value = oUser.omodel.HNumber; | 
|                 //    grdMain.Rows[i].Cells[HUserNameCol].Value = oUser.omodel.HName; | 
|                 //} | 
|                 //else | 
|                 //{ | 
|                 //    grdMain.Rows[i].Cells[HUserNumberCol].Value = ""; | 
|                 //    grdMain.Rows[i].Cells[HUserNameCol].Value = ""; | 
|                 //} | 
|                 // | 
|             | 
|                 grdMain.Rows[i].Cells[HRemarkCol].Value = oSub.HRemark; | 
|                  | 
|                 | 
|   | 
|                  | 
|                 i = i + 1; | 
|             } | 
|             //GRID允许刷新 | 
|             DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); | 
|             //合计 | 
|             Total(); | 
|             // | 
|             Sub_OperStatus(); | 
|             //oBillSub = null; | 
|         } | 
|         | 
|         //单据完整性判断          未完成 | 
|         private bool Sub_AllowSave() | 
|         { | 
|             if (DBUtility.ClsPub.isStrNull(txtHUserID.Text) == "") | 
|             { | 
|                 MessageBox.Show("用户没有选择!", "提示"); | 
|                 return false; | 
|             }  | 
|            return true; | 
|         } | 
|         //保存单据 | 
|         private bool Sub_SaveBill() | 
|         { | 
|             SCM.ClsGy_UserORGRelation_Model oBillSub = new SCM.ClsGy_UserORGRelation_Model(); | 
|             Int32 i; | 
|             bool bResult; | 
|             BillNew = new SCM.ClsGy_UserORGRelation_Ctl(); | 
|             //编辑权限 | 
|             //if (!ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName)) | 
|             //{ | 
|             //    return false; | 
|             //} | 
|             //失去焦点 | 
|             lblCaption.Focus(); | 
|             // | 
|             if (!Sub_AllowSave())//单据完整性判断 | 
|                 return false; | 
|             // | 
|             //明细类赋值 | 
|             BillNew.DetailColl = new List<SCM.ClsGy_UserORGRelation_Model>(); | 
|             for (i = 0; i <= grdMain.RowCount - 1; i++) | 
|             { | 
|                 if (DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HORGIDCol].Value) != 0)//   | 
|                 { | 
|                     SCM.ClsGy_UserORGRelation_Model oSub = new SCM.ClsGy_UserORGRelation_Model(); | 
|                     oSub.HORGID = ClsPub.isStrNull(grdMain.Rows[i].Cells[HORGIDCol].Value); | 
|                     oSub.HUserID = ClsPub.isStrNull(txtHUserID.Text); | 
|                     BillNew.DetailColl.Add(oSub); | 
|                 } | 
|             } | 
|             //保存完毕后处理 | 
|             if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew) | 
|             { | 
|                 bResult = BillNew.AddNew(); | 
|             } | 
|             else | 
|             { | 
|                 bResult = BillNew.ModifyByID(txtHUserID.Text); | 
|             } | 
|             //提示 | 
|             if (bResult == true) | 
|             { | 
|                 BillChange = true; | 
|                 MessageBox.Show("单据存盘完毕!", "提示"); | 
|                 if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew) | 
|                 { | 
|                     BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; | 
|                 } | 
|                 else if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify) | 
|                 { | 
|                     BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; | 
|                 } | 
|                 this.Sub_OperStatus(); | 
|                 return true; | 
|             } | 
|             else | 
|             { | 
|                 MessageBox.Show("保存失败!原因:" + ClsPub.sExeReturnInfo, "提示"); | 
|                 return false; | 
|             } | 
|         } | 
|   | 
|          | 
|         #endregion  | 
|   | 
|   | 
|         #region 窗体处理方法 | 
|   | 
|          | 
|         //初始化GRID | 
|         private void initGrid() | 
|         { | 
|             grdMain.ColumnCount = 9;                       //总列数 | 
|             SCM.公用类.Xt_BaseBillFun.initGridFst(grdMain, this.Name); | 
|             // | 
|   | 
|             grdMain.Columns[HORGIDCol].HeaderText = "组织ID"; | 
|             grdMain.Columns[HORGNumberCol].HeaderText = "组织代码"; | 
|             grdMain.Columns[HORGNameCol].HeaderText = "组织名称"; | 
|   | 
|             grdMain.Columns[HUserIDCol].HeaderText = "用户ID"; | 
|             grdMain.Columns[HUserNumberCol].HeaderText = "用户代码"; | 
|             grdMain.Columns[HUserNameCol].HeaderText = "用户名称"; | 
|             grdMain.Columns[HRemarkCol].HeaderText = "备注"; | 
|             // | 
|             //设置特殊列 | 
|             //HOldMaterBackFlagCol | 
|             | 
|             grdMain.Columns[HTagCol].Visible = false; | 
|             grdMain.Columns[HUserIDCol].Visible = false; | 
|             grdMain.Columns[HORGIDCol].Visible = false; | 
|             grdMain.Columns[HUserNumberCol].Visible = false; | 
|             grdMain.Columns[HUserNameCol].Visible = false; | 
|             // | 
|             string sAllowCol = HORGNumberCol.ToString() +                            | 
|                             "," + HUserNumberCol.ToString() +                            | 
|                             "," + HRemarkCol.ToString(); | 
|             string sTotalCol = HTagCol.ToString(); | 
|             //格式化网格 | 
|             DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol, oSumGrid); | 
|         } | 
|          | 
|         //公式重算 | 
|         private void RowCount(int sRow,int   sTag) | 
|         { | 
|             if (sTag == 0) | 
|             { | 
|                 //金额列=数量*单价 | 
|                  | 
|             } | 
|             else | 
|             { | 
|                 //单价列=金额/数量 | 
|                   | 
|             } | 
|         } | 
|          | 
|         //增行按钮 未完成 | 
|         private void AddRow_Click(object sender, EventArgs e) | 
|         { | 
|             oSumGrid.Sub_AddRow(); | 
|         } | 
|         //删行按纽 未完成 | 
|         private void DelRow_Click(object sender, EventArgs e) | 
|         { | 
|             oSumGrid.Sub_DelRow(); | 
|         } | 
|          | 
|          | 
|   | 
|         //核对选择的内容 | 
|         public bool CheckGridCell(Cell oCell) | 
|         { | 
|             int Row; | 
|             int Col; | 
|             Row = oCell.Row; | 
|             Col = oCell.Col; | 
|             //输入代码得到信息 | 
|             //if (Col == HMaterNumberCol)  //物料代码列 | 
|             //{ | 
|   | 
|             //    return false; | 
|             //} | 
|             //else //其他列 | 
|             //{ | 
|             //} | 
|             //   | 
|             oSumGrid.EditStatus = false; | 
|             return true; | 
|         } | 
|         //是否是空行 | 
|         private bool IsNullRow(int Row) | 
|         { | 
|             //if (ClsPub.isInt(grdMain.Rows[Row].Cells[HMaterIDCol].Value) == 0) | 
|             //{ | 
|             //    return true; | 
|             //} | 
|             return true; | 
|         } | 
|         //'判断网格行的录入是否正确 | 
|         private bool CheckGridRow(int Row) | 
|         { | 
|             //Cell oCell = new Cell(); | 
|             //int c = 0; | 
|             //for (c = 0; c < grdMain.Cols; c++) | 
|             //{ | 
|             //    oCell.Row = Row; | 
|             //    oCell.Col = c; | 
|             //    if (!CheckGridCell(oCell)) | 
|             //        return false; | 
|   | 
|             //} | 
|             return true; | 
|         } | 
|         //帮助函数 | 
|         private void Sub_GridKey(int sKeyCode, int sRow, int sCol, DataGridViewTextBoxEditingControl oEdit) | 
|         { | 
|             SCM.ClsCLD_ORG_View oORG = new SCM.ClsCLD_ORG_View();  | 
|             if (!grdStatus) | 
|             { | 
|                 return; | 
|             } | 
|             //if (oSumGrid.FindAllowEditCol(sCol)) | 
|             //{ | 
|             oSumGrid.EditStatus = true; | 
|             //} | 
|             //else | 
|             //{ | 
|             //    return; | 
|             //} | 
|             switch (sKeyCode) | 
|             { | 
|                 case 118: | 
|                     { | 
|                     switch (sCol) | 
|                     { | 
|                         | 
|                         // | 
|                         case HORGNumberCol: | 
|                             oORG.WherePart = ""; | 
|                             string DeWhere = ""; | 
|                             DeWhere = " "; | 
|                             if (oORG.RefreshView(DeWhere)) | 
|                             { | 
|                                 if (oORG.GetInfoByID(oORG.oModel.HItemID)) | 
|                                 { | 
|                                     grdMain.Rows[sRow].Cells[HORGIDCol].Value = oORG.omodel.HItemID.ToString(); | 
|                                     grdMain.Rows[sRow].Cells[HORGNumberCol].Value = oORG.omodel.HNumber; | 
|                                     grdMain.Rows[sRow].Cells[HORGNameCol].Value = oORG.omodel.HName; | 
|                                     oEdit.Text = oORG.omodel.HNumber; | 
|                                 } | 
|                                 else | 
|                                 { | 
|                                     grdMain.Rows[sRow].Cells[HORGIDCol].Value = 0; | 
|                                     grdMain.Rows[sRow].Cells[HORGNumberCol].Value = ""; | 
|                                     grdMain.Rows[sRow].Cells[HORGNameCol].Value = ""; | 
|                                 } | 
|                             } | 
|                             else | 
|                             { | 
|                                 grdMain.Rows[sRow].Cells[HORGIDCol].Value = 0; | 
|                                 grdMain.Rows[sRow].Cells[HORGNumberCol].Value = ""; | 
|                                 grdMain.Rows[sRow].Cells[HORGNameCol].Value = ""; | 
|                             } | 
|                             break; | 
|                         default: | 
|                             break; | 
|                     } | 
|                     break; | 
|                     } | 
|                 case 117: | 
|                     MessageBox.Show("此功能尚未开放!", "提示"); | 
|                     break; | 
|                 default: | 
|                     break; | 
|             } | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         DataGridViewTextBoxEditingControl EditingControl; | 
|         private void grdMain_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) | 
|         { | 
|             int i = grdMain.CurrentCell.ColumnIndex; | 
|             if (DBUtility.Xt_BaseBillFun.AllowEdit(grdStatus, oSumGrid, i)) | 
|             { | 
|                 e.Cancel = true; | 
|             } | 
|         } | 
|   | 
|         private void grdMain_CellEndEdit(object sender, DataGridViewCellEventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); | 
|             RowCount(e.RowIndex, 0);  //计算 金额 单价 | 
|             // | 
|             if (this.EditingControl != null)      //释放事件 | 
|             { | 
|                 EditingControl.KeyDown -= new KeyEventHandler(this.EditingControl_KeyDown); | 
|                 this.EditingControl = null; | 
|             } | 
|         } | 
|   | 
|         private void grdMain_CellLeave(object sender, DataGridViewCellEventArgs e) | 
|         { | 
|             if (!grdStatus) | 
|             { | 
|                 return; | 
|             } | 
|             DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); | 
|             //  | 
|             if (!CheckGridRow(oSumGrid.OldCell.Row)) | 
|                 return; | 
|         } | 
|   | 
|         private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); | 
|         } | 
|   | 
|         private void grdMain_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) | 
|         { | 
|             if (grdMain.CurrentCell != null) | 
|             { | 
|                 if (e.Control is DataGridViewTextBoxEditingControl) | 
|                 { | 
|                     this.EditingControl = (DataGridViewTextBoxEditingControl)e.Control; | 
|                     //增加委托处理  | 
|                     this.EditingControl.KeyDown += new KeyEventHandler(this.EditingControl_KeyDown); | 
|                 } | 
|             } | 
|         } | 
|   | 
|         private void EditingControl_KeyDown(object sender, KeyEventArgs e) | 
|         { | 
|             //业务处理  | 
|             Sub_GridKey(e.KeyValue, grdMain.CurrentRow.Index, grdMain.CurrentCell.ColumnIndex, EditingControl); | 
|         } | 
|   | 
|         private void grdMain_RowHeadersWidthChanged(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); | 
|         } | 
|   | 
|         private void grdMain_Scroll(object sender, ScrollEventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid); | 
|             oSumGrid.DisplayCurRow(); | 
|         } | 
|   | 
|         private void cmdHUserID_Click(object sender, EventArgs e) | 
|         { | 
|             //DBUtility.Gy_UserSelect oUser = new DBUtility.Gy_UserSelect(); | 
|             //oUser.bSingle = false; | 
|             //oUser.ShowDialog(); | 
|             //if (oUser.IsOk == 1) | 
|             //{ | 
|             //    txtHUserID.Text = oUser.sReturn; | 
|             //} | 
|             //else | 
|             //{ | 
|             //    txtHUserID.Text = ""; | 
|             //} | 
|         } | 
|   | 
|         private void txtHUserID_TextChanged(object sender, EventArgs e) | 
|         { | 
|             //if (txtHUserID.Text.Trim() == "") | 
|             //{ | 
|             //    txtHUserID.Tag = "0"; | 
|             //} | 
|         } | 
|   | 
|          | 
|   | 
|          | 
|     } | 
| } |