public UltraGrid GenerateGrid(string moduleName, Control ctr, Point p) { Sys_PD_Module module = new Sys_PD_Module(); module = instModule.GetListByWhere(" and SPM_Module='" + moduleName + "'").ToList()[0]; //List<Sys_PD_Filed> filedList = new List<Sys_PD_Filed>(); //filedList = instField.GetListByWhere(" and DCP_ModuleName='" + moduleName + "' order by DCP_Order").ToList(); GridTagObject gridObj = new GridTagObject(); gridObj.Module = module; gridObj.GridValuePrefix = ""; UltraGrid ug_list = new Infragistics.Win.UltraWinGrid.UltraGrid(); ctr.Tag = module; ug_list.Location = p; ug_list.Name = module.SPM_LPrefix + module.SPM_Module;//grid的技术名称 ug_list.Tag = gridObj; ug_list.Size = new System.Drawing.Size(module.SPM_LX, module.SPM_LY); ug_list.Dock = DockStyle.Fill; ug_list.Text = module.SPM_Name; #region 默认样式初始化 GridFormater.SetGridStyle(ug_list); #endregion ug_list.AfterColPosChanged += new AfterColPosChangedEventHandler(ug_list_AfterColPosChanged); ug_list.InitializeLayout += new InitializeLayoutEventHandler(ug_list_InitializeLayout); ug_list.KeyUp += new KeyEventHandler(ug_list_KeyUp); ug_list.CellChange += new CellEventHandler(ug_list_CellChange); ug_list.BeforeCellListDropDown += new CancelableCellEventHandler(ug_list_BeforeCellListDropDown); ctr.Controls.Add(ug_list); return ug_list; }
private void ug_list_AfterColPosChanged(object sender, Infragistics.Win.UltraWinGrid.AfterColPosChangedEventArgs e) { UltraGrid ug_list = sender as UltraGrid; Sys_PD_Module module = new Sys_PD_Module(); //module = ug_list.Tag as Sys_PD_Module; GridTagObject gridObj = ug_list.Tag as GridTagObject; module = gridObj.Module; GridFormater.SaveGridFormat(ug_list.DisplayLayout.Bands[0], module.SPM_Module, SessionConfig.UserID); }
void ug_list_InitializeLayout(object sender, InitializeLayoutEventArgs e) { UltraGrid ug_list = sender as UltraGrid; Sys_PD_RefModule refModuleData = new Sys_PD_RefModule(); int i = 0; //ug_list.DisplayLayout.Appearance.FontData.SizeInPoints = (float)30; //ug_list.ResetDisplayLayout(); //绑定每一列,并修改表头 Sys_PD_Module module = new Sys_PD_Module(); GridTagObject gridObj = ug_list.Tag as GridTagObject; module = gridObj.Module; //module = ug_list.Tag as Sys_PD_Module; List<Sys_PD_Filed> filedList = new List<Sys_PD_Filed>(); filedList = instField.GetListByWhere(" and DCP_ModuleName='" + module.SPM_Module + "' order by DCP_Order ASC").ToList(); // e.Layout.Bands[0].Columns["price"].MaskInput= "$#,###.##"; Infragistics.Win.UltraWinGrid.UltraGridColumn ugCol; for (i = 0; i < e.Layout.Bands[0].Columns.Count; i++)//使所有的都不能编辑 { ugCol = e.Layout.Bands[0].Columns[i]; //使其不能在Grid上编辑 ugCol.CellActivation = Activation.NoEdit; ugCol.Hidden = true; //ugCol.Header.te } ug_list.DisplayLayout.Bands[0].Summaries.Clear(); foreach (Sys_PD_Filed field in filedList) { UltraGridBand band = e.Layout.Bands[0]; if (band.Columns.Exists(field.DCP_ControlID)) { band.Columns[field.DCP_ControlID].Header.Caption = field.DCP_Label; band.Columns[field.DCP_ControlID].Hidden = field.DCP_IsHidden == 1 ? true : false; band.Columns[field.DCP_ControlID].Tag = field;//置tag属性,保存列的配置属性 band.Columns[field.DCP_ControlID].Header.VisiblePosition = field.DCP_Order; band.Columns[field.DCP_ControlID].CellActivation = Activation.AllowEdit; } else { continue; } if (field.DCP_IsSummary > 0) { ug_list.DisplayLayout.Bands[0].Columns[field.DCP_ControlID].AllowRowSummaries = AllowRowSummaries.SingleSummaryBasedOnDataType; ug_list.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug_list.DisplayLayout.Bands[0].Columns[field.DCP_ControlID]); ug_list.DisplayLayout.Bands[0].SummaryFooterCaption = "合计"; } //绑定编辑的控件 switch (field.DCP_ControlType) { case "text": if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "dec": band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Double; band.Columns[field.DCP_ControlID].PromptChar = ' '; band.Columns[field.DCP_ControlID].MaskDisplayMode = Infragistics.Win.UltraWinMaskedEdit.MaskMode.Raw; band.Columns[field.DCP_ControlID].MaskDataMode = Infragistics.Win.UltraWinMaskedEdit.MaskMode.Raw; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "int": band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Integer; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "check": band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "date": band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date; band.Columns[field.DCP_ControlID].MaskInput = "yyyy-mm-dd"; //band.Columns[field.DCP_ControlID].DefaultCellValue = DateTime.Now; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "time": band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithoutDropDown; band.Columns[field.DCP_ControlID].MaskInput = "yyyy-mm-dd hh:mm"; //band.Columns[field.DCP_ControlID].DefaultCellValue = DateTime.Now; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "dict": var dict = instDict.GetListByWhere(string.Format(" and dict_key='{0}' and dict_code <>'{0}' order by dict_order ", field.DCP_Type)); var valueList = new ValueList(); foreach (var obj in dict) { valueList.ValueListItems.Add(obj.Dict_Code, obj.Dict_Name); } band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; band.Columns[field.DCP_ControlID].ValueList = valueList; band.Columns[field.DCP_ControlID].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.OnCellActivate; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } break; case "ref": //e.Layout.Bands[0].Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.ul; UltraDropDown drop = new UltraDropDown(); string sql = string.Empty; //if (!string.IsNullOrEmpty(field.DCP_RefSQL)) //{ // sql = string.Format(field.DCP_RefSQL, ""); //MethodInvoker exc = delegate //{ ADOSys_PD_RefModule refInst = new ADOSys_PD_RefModule(); Sys_PD_RefModule refModule = refInst.GetListByWhere(string.Format(" and SPR_RefModule='{0}'", field.DCP_RefSQL)).FirstOrDefault(); if (refModule != null && !string.IsNullOrEmpty(field.DCP_RefSQL)) { sql = refModule.SPR_RefSQL.Trim(); DataTable refDate = new DataTable(); refDate = instField.GetRefData(sql); drop.DataSource = refDate.DefaultView; drop.DisplayMember = field.DCP_RefValue; drop.ValueMember = field.DCP_RefCode; drop.Tag = field; //drop.v += new EventHandler(drop_TextChanged); band.Columns[field.DCP_ControlID].ValueList = drop; band.Columns[field.DCP_ControlID].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } drop.Rows.ColumnFilters[field.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, drop.Text); } else { DataTable refDate = new DataTable(); drop.DataSource = refDate.DefaultView; drop.DisplayMember = field.DCP_RefValue; drop.ValueMember = field.DCP_RefCode; //drop.v += new EventHandler(drop_TextChanged); band.Columns[field.DCP_ControlID].ValueList = drop; band.Columns[field.DCP_ControlID].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend; if (field.DCP_IsReadonly == 1) { band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect; } //drop.Rows.ColumnFilters[field.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, drop.Text); } //}; //exc.BeginInvoke(null, null); //} break; } } if (module.SPM_IsFilter > 0) { SetExcelStyleFilter(ug_list); } ug_list.DisplayLayout.AutoFitStyle = AutoFitStyle.ExtendLastColumn; GridFormater.RetrieveSetGridFormat(ug_list, ug_list.DisplayLayout.Bands[0], module.SPM_Module, SessionConfig.UserID); }
/// <summary> /// 获取指定的Sys_PD_Module对象集合 /// </summary> public List<Sys_PD_Module> GetListByWhere(string strCondition) { List<Sys_PD_Module> ret = new List<Sys_PD_Module>(); string sql = "SELECT SPM_ID,SPM_Module,SPM_LPrefix,SPM_Name,SPM_LX,SPM_LY,SPM_TX,SPM_TY,SPM_LI,SPM_TI,SPM_CNum,SPM_TPrefix,SPM_Height,SPM_Form1,SPM_Form2,Stat,SPM_IsSummary,SPM_IsFilter FROM Sys_PD_Module WHERE 1=1 AND ((Stat is null) or (Stat=0) ) "; if(!string.IsNullOrEmpty(strCondition)) { strCondition.Replace('\'','"'); //防sql注入 sql += strCondition ; } //sql += " ORDER BY SPM_ID DESC "; SqlDataReader dr=null; try { dr=(SqlDataReader)idb.ReturnReader(sql); while(dr.Read()) { Sys_PD_Module sys_PD_Module = new Sys_PD_Module(); if (dr["SPM_ID"] != DBNull.Value) sys_PD_Module.SPM_ID = Convert.ToDecimal(dr["SPM_ID"]); if (dr["SPM_Module"] != DBNull.Value) sys_PD_Module.SPM_Module = Convert.ToString(dr["SPM_Module"]); if (dr["SPM_LPrefix"] != DBNull.Value) sys_PD_Module.SPM_LPrefix = Convert.ToString(dr["SPM_LPrefix"]); if (dr["SPM_Name"] != DBNull.Value) sys_PD_Module.SPM_Name = Convert.ToString(dr["SPM_Name"]); if (dr["SPM_LX"] != DBNull.Value) sys_PD_Module.SPM_LX = Convert.ToInt32(dr["SPM_LX"]); if (dr["SPM_LY"] != DBNull.Value) sys_PD_Module.SPM_LY = Convert.ToInt32(dr["SPM_LY"]); if (dr["SPM_TX"] != DBNull.Value) sys_PD_Module.SPM_TX = Convert.ToInt32(dr["SPM_TX"]); if (dr["SPM_TY"] != DBNull.Value) sys_PD_Module.SPM_TY = Convert.ToInt32(dr["SPM_TY"]); if (dr["SPM_LI"] != DBNull.Value) sys_PD_Module.SPM_LI = Convert.ToInt32(dr["SPM_LI"]); if (dr["SPM_TI"] != DBNull.Value) sys_PD_Module.SPM_TI = Convert.ToInt32(dr["SPM_TI"]); if (dr["SPM_CNum"] != DBNull.Value) sys_PD_Module.SPM_CNum = Convert.ToInt32(dr["SPM_CNum"]); if (dr["SPM_TPrefix"] != DBNull.Value) sys_PD_Module.SPM_TPrefix = Convert.ToString(dr["SPM_TPrefix"]); if (dr["SPM_Height"] != DBNull.Value) sys_PD_Module.SPM_Height = Convert.ToInt32(dr["SPM_Height"]); if (dr["SPM_Form1"] != DBNull.Value) sys_PD_Module.SPM_Form1 = Convert.ToString(dr["SPM_Form1"]); if (dr["SPM_Form2"] != DBNull.Value) sys_PD_Module.SPM_Form2 = Convert.ToString(dr["SPM_Form2"]); if (dr["Stat"] != DBNull.Value) sys_PD_Module.Stat = Convert.ToInt32(dr["Stat"]); if (dr["SPM_IsSummary"] != DBNull.Value) sys_PD_Module.SPM_IsSummary = Convert.ToInt32(dr["SPM_IsSummary"]); if (dr["SPM_IsFilter"] != DBNull.Value) sys_PD_Module.SPM_IsFilter = Convert.ToInt32(dr["SPM_IsFilter"]); ret.Add(sys_PD_Module); } }catch (System.Exception ex){ throw ex; } finally { if (dr != null) { dr.Close(); } if (idb.GetConnection() != null && idb.GetConnection().State == ConnectionState.Open) { idb.GetConnection().Close(); } } return ret; }
/// <summary> /// 更新Sys_PD_Module对象(即:一条记录 /// </summary> public int Update(Sys_PD_Module sys_PD_Module) { StringBuilder sbParameter=new StringBuilder(); StringBuilder sb=new StringBuilder(); sb.Append(@"UPDATE Sys_PD_Module SET "); if(sys_PD_Module.SPM_Module_IsChanged){sbParameter.Append("SPM_Module=@SPM_Module, ");} if(sys_PD_Module.SPM_LPrefix_IsChanged){sbParameter.Append("SPM_LPrefix=@SPM_LPrefix, ");} if(sys_PD_Module.SPM_Name_IsChanged){sbParameter.Append("SPM_Name=@SPM_Name, ");} if(sys_PD_Module.SPM_LX_IsChanged){sbParameter.Append("SPM_LX=@SPM_LX, ");} if(sys_PD_Module.SPM_LY_IsChanged){sbParameter.Append("SPM_LY=@SPM_LY, ");} if(sys_PD_Module.SPM_TX_IsChanged){sbParameter.Append("SPM_TX=@SPM_TX, ");} if(sys_PD_Module.SPM_TY_IsChanged){sbParameter.Append("SPM_TY=@SPM_TY, ");} if(sys_PD_Module.SPM_LI_IsChanged){sbParameter.Append("SPM_LI=@SPM_LI, ");} if(sys_PD_Module.SPM_TI_IsChanged){sbParameter.Append("SPM_TI=@SPM_TI, ");} if(sys_PD_Module.SPM_CNum_IsChanged){sbParameter.Append("SPM_CNum=@SPM_CNum, ");} if(sys_PD_Module.SPM_TPrefix_IsChanged){sbParameter.Append("SPM_TPrefix=@SPM_TPrefix, ");} if(sys_PD_Module.SPM_Height_IsChanged){sbParameter.Append("SPM_Height=@SPM_Height, ");} if(sys_PD_Module.SPM_Form1_IsChanged){sbParameter.Append("SPM_Form1=@SPM_Form1, ");} if(sys_PD_Module.SPM_Form2_IsChanged){sbParameter.Append("SPM_Form2=@SPM_Form2, ");} if(sys_PD_Module.Stat_IsChanged){sbParameter.Append("Stat=@Stat, ");} if(sys_PD_Module.SPM_IsSummary_IsChanged){sbParameter.Append("SPM_IsSummary=@SPM_IsSummary, ");} if(sys_PD_Module.SPM_IsFilter_IsChanged){sbParameter.Append("SPM_IsFilter=@SPM_IsFilter ");} sb.Append(sbParameter.ToString().Trim().TrimEnd(',')); sb.Append( " WHERE 1=1 AND ((Stat is null) or (Stat=0)) and SPM_ID=@SPM_ID; " ); string sql=sb.ToString(); if(sys_PD_Module.SPM_Module_IsChanged) { if (string.IsNullOrEmpty(sys_PD_Module.SPM_Module)) { idb.AddParameter("@SPM_Module", DBNull.Value); } else { idb.AddParameter("@SPM_Module", sys_PD_Module.SPM_Module); } } if(sys_PD_Module.SPM_LPrefix_IsChanged) { if (string.IsNullOrEmpty(sys_PD_Module.SPM_LPrefix)) { idb.AddParameter("@SPM_LPrefix", DBNull.Value); } else { idb.AddParameter("@SPM_LPrefix", sys_PD_Module.SPM_LPrefix); } } if(sys_PD_Module.SPM_Name_IsChanged) { if (string.IsNullOrEmpty(sys_PD_Module.SPM_Name)) { idb.AddParameter("@SPM_Name", DBNull.Value); } else { idb.AddParameter("@SPM_Name", sys_PD_Module.SPM_Name); } } if(sys_PD_Module.SPM_LX_IsChanged) { if (sys_PD_Module.SPM_LX == 0) { idb.AddParameter("@SPM_LX", 0); } else { idb.AddParameter("@SPM_LX", sys_PD_Module.SPM_LX); } } if(sys_PD_Module.SPM_LY_IsChanged) { if (sys_PD_Module.SPM_LY == 0) { idb.AddParameter("@SPM_LY", 0); } else { idb.AddParameter("@SPM_LY", sys_PD_Module.SPM_LY); } } if(sys_PD_Module.SPM_TX_IsChanged) { if (sys_PD_Module.SPM_TX == 0) { idb.AddParameter("@SPM_TX", 0); } else { idb.AddParameter("@SPM_TX", sys_PD_Module.SPM_TX); } } if(sys_PD_Module.SPM_TY_IsChanged) { if (sys_PD_Module.SPM_TY == 0) { idb.AddParameter("@SPM_TY", 0); } else { idb.AddParameter("@SPM_TY", sys_PD_Module.SPM_TY); } } if(sys_PD_Module.SPM_LI_IsChanged) { if (sys_PD_Module.SPM_LI == 0) { idb.AddParameter("@SPM_LI", 0); } else { idb.AddParameter("@SPM_LI", sys_PD_Module.SPM_LI); } } if(sys_PD_Module.SPM_TI_IsChanged) { if (sys_PD_Module.SPM_TI == 0) { idb.AddParameter("@SPM_TI", 0); } else { idb.AddParameter("@SPM_TI", sys_PD_Module.SPM_TI); } } if(sys_PD_Module.SPM_CNum_IsChanged) { if (sys_PD_Module.SPM_CNum == 0) { idb.AddParameter("@SPM_CNum", 0); } else { idb.AddParameter("@SPM_CNum", sys_PD_Module.SPM_CNum); } } if(sys_PD_Module.SPM_TPrefix_IsChanged) { if (string.IsNullOrEmpty(sys_PD_Module.SPM_TPrefix)) { idb.AddParameter("@SPM_TPrefix", DBNull.Value); } else { idb.AddParameter("@SPM_TPrefix", sys_PD_Module.SPM_TPrefix); } } if(sys_PD_Module.SPM_Height_IsChanged) { if (sys_PD_Module.SPM_Height == 0) { idb.AddParameter("@SPM_Height", 0); } else { idb.AddParameter("@SPM_Height", sys_PD_Module.SPM_Height); } } if(sys_PD_Module.SPM_Form1_IsChanged) { if (string.IsNullOrEmpty(sys_PD_Module.SPM_Form1)) { idb.AddParameter("@SPM_Form1", DBNull.Value); } else { idb.AddParameter("@SPM_Form1", sys_PD_Module.SPM_Form1); } } if(sys_PD_Module.SPM_Form2_IsChanged) { if (string.IsNullOrEmpty(sys_PD_Module.SPM_Form2)) { idb.AddParameter("@SPM_Form2", DBNull.Value); } else { idb.AddParameter("@SPM_Form2", sys_PD_Module.SPM_Form2); } } if(sys_PD_Module.Stat_IsChanged) { if (sys_PD_Module.Stat == 0) { idb.AddParameter("@Stat", 0); } else { idb.AddParameter("@Stat", sys_PD_Module.Stat); } } if(sys_PD_Module.SPM_IsSummary_IsChanged) { if (sys_PD_Module.SPM_IsSummary == 0) { idb.AddParameter("@SPM_IsSummary", 0); } else { idb.AddParameter("@SPM_IsSummary", sys_PD_Module.SPM_IsSummary); } } if(sys_PD_Module.SPM_IsFilter_IsChanged) { if (sys_PD_Module.SPM_IsFilter == 0) { idb.AddParameter("@SPM_IsFilter", 0); } else { idb.AddParameter("@SPM_IsFilter", sys_PD_Module.SPM_IsFilter); } } idb.AddParameter("@SPM_ID", sys_PD_Module.SPM_ID); return idb.ExeCmd(sql);
/// <summary> /// 获取指定的Sys_PD_Module对象(即:一条记录 /// </summary> public Sys_PD_Module GetByKey(decimal sPM_ID) { Sys_PD_Module sys_PD_Module = new Sys_PD_Module(); string sql = "SELECT SPM_ID,SPM_Module,SPM_LPrefix,SPM_Name,SPM_LX,SPM_LY,SPM_TX,SPM_TY,SPM_LI,SPM_TI,SPM_CNum,SPM_TPrefix,SPM_Height,SPM_Form1,SPM_Form2,Stat,SPM_IsSummary,SPM_IsFilter FROM Sys_PD_Module WHERE 1=1 AND ((Stat is null) or (Stat=0) ) AND SPM_ID=@SPM_ID "; idb.AddParameter("@SPM_ID", sPM_ID); SqlDataReader dr=null; try { dr=(SqlDataReader)idb.ReturnReader(sql); while(dr.Read()) { if (dr["SPM_ID"] != DBNull.Value) sys_PD_Module.SPM_ID = Convert.ToDecimal(dr["SPM_ID"]); if (dr["SPM_Module"] != DBNull.Value) sys_PD_Module.SPM_Module = Convert.ToString(dr["SPM_Module"]); if (dr["SPM_LPrefix"] != DBNull.Value) sys_PD_Module.SPM_LPrefix = Convert.ToString(dr["SPM_LPrefix"]); if (dr["SPM_Name"] != DBNull.Value) sys_PD_Module.SPM_Name = Convert.ToString(dr["SPM_Name"]); if (dr["SPM_LX"] != DBNull.Value) sys_PD_Module.SPM_LX = Convert.ToInt32(dr["SPM_LX"]); if (dr["SPM_LY"] != DBNull.Value) sys_PD_Module.SPM_LY = Convert.ToInt32(dr["SPM_LY"]); if (dr["SPM_TX"] != DBNull.Value) sys_PD_Module.SPM_TX = Convert.ToInt32(dr["SPM_TX"]); if (dr["SPM_TY"] != DBNull.Value) sys_PD_Module.SPM_TY = Convert.ToInt32(dr["SPM_TY"]); if (dr["SPM_LI"] != DBNull.Value) sys_PD_Module.SPM_LI = Convert.ToInt32(dr["SPM_LI"]); if (dr["SPM_TI"] != DBNull.Value) sys_PD_Module.SPM_TI = Convert.ToInt32(dr["SPM_TI"]); if (dr["SPM_CNum"] != DBNull.Value) sys_PD_Module.SPM_CNum = Convert.ToInt32(dr["SPM_CNum"]); if (dr["SPM_TPrefix"] != DBNull.Value) sys_PD_Module.SPM_TPrefix = Convert.ToString(dr["SPM_TPrefix"]); if (dr["SPM_Height"] != DBNull.Value) sys_PD_Module.SPM_Height = Convert.ToInt32(dr["SPM_Height"]); if (dr["SPM_Form1"] != DBNull.Value) sys_PD_Module.SPM_Form1 = Convert.ToString(dr["SPM_Form1"]); if (dr["SPM_Form2"] != DBNull.Value) sys_PD_Module.SPM_Form2 = Convert.ToString(dr["SPM_Form2"]); if (dr["Stat"] != DBNull.Value) sys_PD_Module.Stat = Convert.ToInt32(dr["Stat"]); if (dr["SPM_IsSummary"] != DBNull.Value) sys_PD_Module.SPM_IsSummary = Convert.ToInt32(dr["SPM_IsSummary"]); if (dr["SPM_IsFilter"] != DBNull.Value) sys_PD_Module.SPM_IsFilter = Convert.ToInt32(dr["SPM_IsFilter"]); } }catch (System.Exception ex){ throw ex; } finally { if (dr != null) { dr.Close(); } if (idb.GetConnection() != null && idb.GetConnection().State == ConnectionState.Open) { idb.GetConnection().Close(); } } return sys_PD_Module; }
/// <summary> /// 获取所有的Sys_PD_Module对象(即:一条记录 /// </summary> public List<Sys_PD_Module> GetAll() { List<Sys_PD_Module> ret = new List<Sys_PD_Module>(); string sql = "SELECT SPM_ID,SPM_Module,SPM_LPrefix,SPM_Name,SPM_LX,SPM_LY,SPM_TX,SPM_TY,SPM_LI,SPM_TI,SPM_CNum,SPM_TPrefix,SPM_Height,SPM_Form1,SPM_Form2,Stat,SPM_IsSummary,SPM_IsFilter FROM Sys_PD_Module where 1=1 AND ((Stat is null) or (Stat=0) ) order by SPM_ID desc "; SqlDataReader dr=null; try { dr=(SqlDataReader)idb.ReturnReader(sql); while(dr.Read()) { Sys_PD_Module sys_PD_Module = new Sys_PD_Module(); if (dr["SPM_ID"] != DBNull.Value) sys_PD_Module.SPM_ID = Convert.ToDecimal(dr["SPM_ID"]); if (dr["SPM_Module"] != DBNull.Value) sys_PD_Module.SPM_Module = Convert.ToString(dr["SPM_Module"]); if (dr["SPM_LPrefix"] != DBNull.Value) sys_PD_Module.SPM_LPrefix = Convert.ToString(dr["SPM_LPrefix"]); if (dr["SPM_Name"] != DBNull.Value) sys_PD_Module.SPM_Name = Convert.ToString(dr["SPM_Name"]); if (dr["SPM_LX"] != DBNull.Value) sys_PD_Module.SPM_LX = Convert.ToInt32(dr["SPM_LX"]); if (dr["SPM_LY"] != DBNull.Value) sys_PD_Module.SPM_LY = Convert.ToInt32(dr["SPM_LY"]); if (dr["SPM_TX"] != DBNull.Value) sys_PD_Module.SPM_TX = Convert.ToInt32(dr["SPM_TX"]); if (dr["SPM_TY"] != DBNull.Value) sys_PD_Module.SPM_TY = Convert.ToInt32(dr["SPM_TY"]); if (dr["SPM_LI"] != DBNull.Value) sys_PD_Module.SPM_LI = Convert.ToInt32(dr["SPM_LI"]); if (dr["SPM_TI"] != DBNull.Value) sys_PD_Module.SPM_TI = Convert.ToInt32(dr["SPM_TI"]); if (dr["SPM_CNum"] != DBNull.Value) sys_PD_Module.SPM_CNum = Convert.ToInt32(dr["SPM_CNum"]); if (dr["SPM_TPrefix"] != DBNull.Value) sys_PD_Module.SPM_TPrefix = Convert.ToString(dr["SPM_TPrefix"]); if (dr["SPM_Height"] != DBNull.Value) sys_PD_Module.SPM_Height = Convert.ToInt32(dr["SPM_Height"]); if (dr["SPM_Form1"] != DBNull.Value) sys_PD_Module.SPM_Form1 = Convert.ToString(dr["SPM_Form1"]); if (dr["SPM_Form2"] != DBNull.Value) sys_PD_Module.SPM_Form2 = Convert.ToString(dr["SPM_Form2"]); if (dr["Stat"] != DBNull.Value) sys_PD_Module.Stat = Convert.ToInt32(dr["Stat"]); if (dr["SPM_IsSummary"] != DBNull.Value) sys_PD_Module.SPM_IsSummary = Convert.ToInt32(dr["SPM_IsSummary"]); if (dr["SPM_IsFilter"] != DBNull.Value) sys_PD_Module.SPM_IsFilter = Convert.ToInt32(dr["SPM_IsFilter"]); ret.Add(sys_PD_Module); } }catch (System.Exception ex){ throw ex; } finally { if (dr != null) { dr.Close(); } if (idb.GetConnection() != null && idb.GetConnection().State == ConnectionState.Open) { idb.GetConnection().Close(); } } return ret; }
/// <summary> /// 添加Sys_PD_Module对象(即:一条记录) /// </summary> public int Add(Sys_PD_Module sys_PD_Module) { string sql = "INSERT INTO Sys_PD_Module (SPM_Module,SPM_LPrefix,SPM_Name,SPM_LX,SPM_LY,SPM_TX,SPM_TY,SPM_LI,SPM_TI,SPM_CNum,SPM_TPrefix,SPM_Height,SPM_Form1,SPM_Form2,Stat,SPM_IsSummary,SPM_IsFilter) VALUES (@SPM_Module,@SPM_LPrefix,@SPM_Name,@SPM_LX,@SPM_LY,@SPM_TX,@SPM_TY,@SPM_LI,@SPM_TI,@SPM_CNum,@SPM_TPrefix,@SPM_Height,@SPM_Form1,@SPM_Form2,@Stat,@SPM_IsSummary,@SPM_IsFilter)"; if (string.IsNullOrEmpty(sys_PD_Module.SPM_Module)) { idb.AddParameter("@SPM_Module", DBNull.Value); } else { idb.AddParameter("@SPM_Module", sys_PD_Module.SPM_Module); } if (string.IsNullOrEmpty(sys_PD_Module.SPM_LPrefix)) { idb.AddParameter("@SPM_LPrefix", DBNull.Value); } else { idb.AddParameter("@SPM_LPrefix", sys_PD_Module.SPM_LPrefix); } if (string.IsNullOrEmpty(sys_PD_Module.SPM_Name)) { idb.AddParameter("@SPM_Name", DBNull.Value); } else { idb.AddParameter("@SPM_Name", sys_PD_Module.SPM_Name); } if (sys_PD_Module.SPM_LX == 0) { idb.AddParameter("@SPM_LX", 0); } else { idb.AddParameter("@SPM_LX", sys_PD_Module.SPM_LX); } if (sys_PD_Module.SPM_LY == 0) { idb.AddParameter("@SPM_LY", 0); } else { idb.AddParameter("@SPM_LY", sys_PD_Module.SPM_LY); } if (sys_PD_Module.SPM_TX == 0) { idb.AddParameter("@SPM_TX", 0); } else { idb.AddParameter("@SPM_TX", sys_PD_Module.SPM_TX); } if (sys_PD_Module.SPM_TY == 0) { idb.AddParameter("@SPM_TY", 0); } else { idb.AddParameter("@SPM_TY", sys_PD_Module.SPM_TY); } if (sys_PD_Module.SPM_LI == 0) { idb.AddParameter("@SPM_LI", 0); } else { idb.AddParameter("@SPM_LI", sys_PD_Module.SPM_LI); } if (sys_PD_Module.SPM_TI == 0) { idb.AddParameter("@SPM_TI", 0); } else { idb.AddParameter("@SPM_TI", sys_PD_Module.SPM_TI); } if (sys_PD_Module.SPM_CNum == 0) { idb.AddParameter("@SPM_CNum", 0); } else { idb.AddParameter("@SPM_CNum", sys_PD_Module.SPM_CNum); } if (string.IsNullOrEmpty(sys_PD_Module.SPM_TPrefix)) { idb.AddParameter("@SPM_TPrefix", DBNull.Value); } else { idb.AddParameter("@SPM_TPrefix", sys_PD_Module.SPM_TPrefix); } if (sys_PD_Module.SPM_Height == 0) { idb.AddParameter("@SPM_Height", 0); } else { idb.AddParameter("@SPM_Height", sys_PD_Module.SPM_Height); } if (string.IsNullOrEmpty(sys_PD_Module.SPM_Form1)) { idb.AddParameter("@SPM_Form1", DBNull.Value); } else { idb.AddParameter("@SPM_Form1", sys_PD_Module.SPM_Form1); } if (string.IsNullOrEmpty(sys_PD_Module.SPM_Form2)) { idb.AddParameter("@SPM_Form2", DBNull.Value); } else { idb.AddParameter("@SPM_Form2", sys_PD_Module.SPM_Form2); } if (sys_PD_Module.Stat == 0) { idb.AddParameter("@Stat", 0); } else { idb.AddParameter("@Stat", sys_PD_Module.Stat); } if (sys_PD_Module.SPM_IsSummary == 0) { idb.AddParameter("@SPM_IsSummary", 0); } else { idb.AddParameter("@SPM_IsSummary", sys_PD_Module.SPM_IsSummary); } if (sys_PD_Module.SPM_IsFilter == 0) { idb.AddParameter("@SPM_IsFilter", 0); } else { idb.AddParameter("@SPM_IsFilter", sys_PD_Module.SPM_IsFilter); } return idb.ExeCmd(sql); }
public Size GenerateTipsForm(Sys_PD_Module module, List<Sys_PD_Filed> filedList, Control ctr, Point p) { Sys_PD_RefModule refModule = new Sys_PD_RefModule(); ctr.Tag = module; ctr.Text = module.SPM_Name; int iTabInex = 0; int xPosition = p.X; int yPosition = p.Y; int vXPosition = p.X; int step = 0;//控制一行已经输出多少列 int fTI = module.SPM_TI; int fTX = module.SPM_TX; int fTY = module.SPM_TY; int fHeight = module.SPM_Height; int controlWidth = 0; int controlHeight = 0; Size lableSize = new Size(module.SPM_LX, module.SPM_LY);//标签的大小 Size textSize = new Size(fTX, fTY);//文本框的大小 Size areaSize = new Size((fTX * 2) + module.SPM_LX + module.SPM_LI, fTY * 3);//备注框大小 foreach (Sys_PD_Filed field in filedList) { if (field.DCP_IsHidden == 1) { UltraTextEditor _hiddenBox = new UltraTextEditor(); _hiddenBox.Location = new System.Drawing.Point(vXPosition, yPosition); _hiddenBox.Name = module.SPM_TPrefix + field.DCP_ControlID; _hiddenBox.Visible = false; ctr.Controls.Add(_hiddenBox); continue; } if (field.DCP_Style == "newline" || (field.DCP_ControlType == "textarea" && step > module.SPM_CNum - 2)) { step = 0; vXPosition = xPosition; yPosition += fHeight; } fTI = module.SPM_TI; fTX = module.SPM_TX; fTY = module.SPM_TY; fHeight = module.SPM_Height; textSize = new Size(fTX, fTY);//文本框的大小 areaSize = new Size((fTX * 2) + module.SPM_LX + module.SPM_LI, fTY * 3); /////////如果字段有自定义的大小,则赋值到相关模块 if (field.DCP_TI != 0 && field.DCP_TX != 0 && field.DCP_TY != 0 && field.DCP_Height != 0) { textSize = new Size(field.DCP_TX, field.DCP_TY); areaSize = new Size(field.DCP_TX, field.DCP_TY); fTX = field.DCP_TX; fTY = field.DCP_TY; fTI = field.DCP_TI; fHeight = field.DCP_Height; } Infragistics.Win.Misc.UltraLabel _lab = new Infragistics.Win.Misc.UltraLabel(); _lab.Location = new Point(vXPosition, yPosition + 6); _lab.Name = module.SPM_LPrefix + field.DCP_ControlID.ToString(); _lab.Size = lableSize; _lab.TabIndex = iTabInex++; _lab.Text = field.DCP_Label.ToString(); ctr.Controls.Add(_lab); vXPosition += module.SPM_LI; #region 控件生成 switch (field.DCP_ControlType) { case "dec": UltraNumericEditor _numBox = new UltraNumericEditor(); _numBox.Location = new System.Drawing.Point(vXPosition, yPosition); _numBox.Name = module.SPM_TPrefix + field.DCP_ControlID; _numBox.Size = textSize; _numBox.NumericType = NumericType.Double; _numBox.TabIndex = iTabInex++; _numBox.PromptChar = ' '; _numBox.Nullable = true; _numBox.NullText = "0"; if (field.DCP_IsReadonly == 1) { _numBox.ReadOnly = true; } ctr.Controls.Add(_numBox); break; case "int": UltraNumericEditor _intBox = new UltraNumericEditor(); _intBox.Location = new System.Drawing.Point(vXPosition, yPosition); _intBox.Name = module.SPM_TPrefix + field.DCP_ControlID; _intBox.Size = textSize; _intBox.NumericType = NumericType.Integer; _intBox.TabIndex = iTabInex++; if (field.DCP_IsReadonly == 1) { _intBox.ReadOnly = true; } _intBox.PromptChar = ' '; _intBox.Nullable = true; _intBox.NullText = ""; ctr.Controls.Add(_intBox); break; case "text": UltraTextEditor _textBox = new UltraTextEditor(); _textBox.Location = new System.Drawing.Point(vXPosition, yPosition); _textBox.Name = module.SPM_TPrefix + field.DCP_ControlID; _textBox.Size = textSize; _textBox.TabIndex = iTabInex++; _textBox.Nullable = true; if (field.DCP_IsReadonly == 1) { _textBox.ReadOnly = true; } ctr.Controls.Add(_textBox); break; case "textl": UltraTextEditor _texBox = new UltraTextEditor(); _texBox.Location = new System.Drawing.Point(vXPosition, yPosition); _texBox.Name = module.SPM_TPrefix + field.DCP_ControlID; _texBox.Size = new Size(textSize.Width * 2, textSize.Height); _texBox.TabIndex = iTabInex++; if (field.DCP_IsReadonly == 1) { _texBox.ReadOnly = true; } ctr.Controls.Add(_texBox); step++; vXPosition += (fTI + module.SPM_LI); break; case "textarea": UltraTextEditor _mBox = new UltraTextEditor(); _mBox.Location = new System.Drawing.Point(vXPosition, yPosition); _mBox.Name = module.SPM_TPrefix + field.DCP_ControlID; _mBox.Multiline = true; _mBox.Size = areaSize; _mBox.TabIndex = iTabInex++; if (field.DCP_IsReadonly == 1) { _mBox.ReadOnly = true; } ctr.Controls.Add(_mBox); break; case "date": UltraDateTimeEditor _dateCom = new UltraDateTimeEditor(); _dateCom.BackColor = System.Drawing.SystemColors.Window; _dateCom.MaskInput = "yyyy-mm-dd"; _dateCom.SpinButtonDisplayStyle = Infragistics.Win.ButtonDisplayStyle.OnMouseEnter; _dateCom.Location = new System.Drawing.Point(vXPosition, yPosition); _dateCom.Name = module.SPM_TPrefix + field.DCP_ControlID; _dateCom.Size = textSize; _dateCom.TabIndex = iTabInex++; _dateCom.Value = DateTime.Now; _dateCom.PromptChar = ' '; _dateCom.Nullable = true; _dateCom.NullText = DateTime.Now.ToString(); if (field.DCP_IsReadonly == 1) { _dateCom.ReadOnly = true; } ctr.Controls.Add(_dateCom); break; case "time": UltraDateTimeEditor _timeCom = new UltraDateTimeEditor(); _timeCom.BackColor = System.Drawing.SystemColors.Window; _timeCom.MaskInput = "yyyy-mm-dd hh:mm"; _timeCom.SpinButtonDisplayStyle = Infragistics.Win.ButtonDisplayStyle.OnMouseEnter; _timeCom.Location = new System.Drawing.Point(vXPosition, yPosition); _timeCom.Name = module.SPM_TPrefix + field.DCP_ControlID; _timeCom.Size = textSize; _timeCom.TabIndex = iTabInex++; _timeCom.Value = DateTime.Now; _timeCom.PromptChar = ' '; _timeCom.Nullable = true; _timeCom.NullText = DateTime.Now.ToString(); if (field.DCP_IsReadonly == 1) { _timeCom.ReadOnly = true; } ctr.Controls.Add(_timeCom); break; case "dict": UltraComboEditor _comEdit = new UltraComboEditor(); _comEdit.Location = new System.Drawing.Point(vXPosition, yPosition); _comEdit.Name = module.SPM_TPrefix + field.DCP_ControlID; _comEdit.Size = textSize; _comEdit.TabIndex = iTabInex++; _comEdit.DropDownStyle = DropDownStyle.DropDownList; _comEdit.Tag = field; if (field.DCP_IsReadonly == 1) { _comEdit.ReadOnly = true; } _comEdit.ValueChanged += new EventHandler(_comEdit_ValueChanged); ctr.Controls.Add(_comEdit); //ExcuteWithReturnValue ddd = new ExcuteWithReturnValue(this.SetDictValue); //ddd.BeginInvoke(_comEdit, field.DCP_Type, null, null); SetDictValue(_comEdit, field.DCP_Type); break; case "ref": #region UltraGrid 界面设置 UltraCombo uCom = new UltraCombo(); #endregion uCom.Location = new System.Drawing.Point(vXPosition, yPosition); uCom.Name = module.SPM_TPrefix + field.DCP_ControlID; uCom.Size = textSize; uCom.TabIndex = iTabInex++; uCom.Tag = field; //uCom.Text = ctr.Controls.Add(uCom); //if (uCom.Value == null) //{ // uCom.Value = ""; //} string sql = string.Empty; if (!string.IsNullOrEmpty(field.DCP_RefSQL)) { refModule = instRef.GetListByWhere(string.Format(" and SPR_RefModule='{0}'", field.DCP_RefSQL)).FirstOrDefault();//获取参考 if (refModule != null) { sql = string.Format(refModule.SPR_RefSQL.Trim(), "", ""); DataTable refDate = new DataTable(); refDate = instField.GetRefData(sql); uCom.DataSource = refDate.DefaultView; uCom.DisplayMember = refModule.SPR_RefData; uCom.ValueMember = refModule.SPR_RefValue; } } if (!string.IsNullOrEmpty(field.DCP_PControl)) { uCom.Enabled = false; } uCom.ValueChanged += new EventHandler(uCom_ValueChanged); //uCom.BeforeDropDown += new System.ComponentModel.CancelEventHandler(uCom_BeforeDropDown); uCom.TextChanged += new EventHandler(uCom_TextChanged); //uCom.LostFocus += new EventHandler(uCom_LostFocus); //uCom.InitializeLayout += new InitializeLayoutEventHandler(uCom_InitializeLayout); if (field.DCP_IsReadonly == 1) { uCom.ReadOnly = true; } break; } #endregion if (field.DCP_ControlType == "textarea" && step + 2 < module.SPM_CNum - 2) { vXPosition += fTI;// step++; } else if (field.DCP_ControlType == "textarea" && step + 2 > module.SPM_CNum - 2) { step = module.SPM_CNum - 1; if (field.DCP_TI != 0 && field.DCP_TX != 0 && field.DCP_TY != 0 && field.DCP_Height != 0) { yPosition += fHeight; } else { yPosition += fHeight * 2 - 14; ; } } vXPosition += fTI; if (controlWidth < vXPosition) { controlWidth = vXPosition; } if (controlHeight < yPosition + module.SPM_Height) { controlHeight = yPosition + module.SPM_Height; } if (step == module.SPM_CNum - 1) { step = 0; vXPosition = xPosition; yPosition += module.SPM_Height; } else { step++; } } ctr.Height = controlHeight; Size point = new Size(controlWidth + 20, controlHeight + 10); ctr.KeyUp += new KeyEventHandler(ctr_KeyUp); return point; }
public List<Label> GenerateLabelList(string moduleName, Control ctr) { List<Label> list = new List<Label>(); Sys_PD_Module module = new Sys_PD_Module(); module = instModule.GetListByWhere(" and SPM_Module='" + moduleName + "'").FirstOrDefault(); List<Sys_PD_Filed> filedList = new List<Sys_PD_Filed>(); filedList = instField.GetListByWhere(" and DCP_ModuleName='" + moduleName + "' order by DCP_Order").ToList(); ctr.Tag = module; Point p = new Point(module.SPM_LX, module.SPM_LY); int iTabInex = 0; int xPosition = p.X; int yPosition = p.Y; int vXPosition = p.X; int fHeight = module.SPM_Height; foreach (Sys_PD_Filed field in filedList) { if (field.DCP_Style == "newline")//换行,则将高度增加,横向坐标返回原坐标 { vXPosition = xPosition; yPosition += fHeight; } //打印数据项的说明 Label _labDesp = new Label(); _labDesp.Location = new Point(vXPosition, yPosition); _labDesp.Name = "d" + field.DCP_ControlID.ToString(); _labDesp.Size = new Size(int.Parse(field.DCP_Udef1), int.Parse(field.DCP_Udef2)); _labDesp.TabIndex = iTabInex++; _labDesp.Text = field.DCP_Label + ":"; ctr.Controls.Add(_labDesp); vXPosition += int.Parse(field.DCP_PageName); //if (field.DCP_IsHidden == 1) //{ // UltraTextEditor _hiddenBox = new UltraTextEditor(); // _hiddenBox.Location = new System.Drawing.Point(vXPosition, yPosition); // _hiddenBox.Name = module.SPM_TPrefix + field.DCP_ControlID; // _hiddenBox.Visible = false; // ctr.Controls.Add(_hiddenBox); // continue; //} #region 控件生成 Label _lab = new Label(); _lab.Location = new Point(vXPosition, yPosition); _lab.Name = field.DCP_ControlID.ToString(); _lab.Size = new Size(field.DCP_TX, field.DCP_TY); _lab.TabIndex = iTabInex++; _lab.Text = ""; _lab.Tag = field; //if (field.DCP_ControlType == "ref") //{ // #region // string sql = string.Empty; // if (!string.IsNullOrEmpty(field.DCP_RefSQL)) // { // refModule = instRef.GetListByWhere(string.Format(" and SPR_RefModule='{0}'", field.DCP_RefSQL)).FirstOrDefault();//获取参考 // if (refModule != null) // { // sql = string.Format(refModule.SPR_RefSQL.Trim(), "", ""); // DataTable refDate = new DataTable(); // refDate = instField.GetRefData(sql); // } // } // #endregion //} list.Add(_lab); ctr.Controls.Add(_lab); vXPosition += field.DCP_TI; //_lab.DoubleClick += new EventHandler(_lab_DoubleClick); #endregion } return list; }