C# dev SearchLookUpEdit 和 RepositoryItemSearchLookUpEdit 测试
一、searchLookUpEdit 绑定数据源
DataTable DtCompany = new DataTable();//数据源表,自己写数据。 searchLookUpEditCus_no.Properties.DataSource = DtCompany;//绑定数据源 GridView gridViewCompany = searchLookUpEdit1View; //获取GridView对象,以配置表格样式 DataTable dtCompanystrc = help.GetDataTableField("tb_Company");//方法:GetDataTableField(),获取数据表:DtCompany的字段,和中文描述 new GridMethod().GetSetGridContrl(dtCompanystrc, gridViewCompany, 35, NameSpacePath + "tb_Company");//配置下来表数据结构
this.searchLookUpEditCus_no.Location = new System.Drawing.Point(54, 38); this.searchLookUpEditCus_no.Name = "searchLookUpEditCus_no"; this.searchLookUpEditCus_no.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); this.searchLookUpEditCus_no.Properties.DisplayMember = "CompanyName"; this.searchLookUpEditCus_no.Properties.ValueMember = "CompanyID"; this.searchLookUpEditCus_no.Properties.View = this.searchLookUpEdit1View; this.searchLookUpEditCus_no.Size = new System.Drawing.Size(146, 20); this.searchLookUpEditCus_no.TabIndex = 5;
DataTable dtCompanystrc 的数据库表结构
CREATE TABLE [dbo].[TableDetail] ( [ISID] [int] NOT NULL, [TableName] [varchar] (30) NOT NULL, [FileNames] [varchar] (30) NOT NULL, [FILETYPE] [varchar] (20) NULL, [SFNULL] [varchar] (1) NULL, [SFKEY] [varchar] (1) NULL, [ISIdentity] [varchar] (1) NULL, [LONG] [int] NULL, [DEFAULTS] [nvarchar] (100) NULL, [REM] [nvarchar] (50) NOT NULL, [REMARK] [nvarchar] (500) NOT NULL, [Name] [varchar] (50) NULL, [type2] [varchar] (20) NULL, [IsEdit] [varchar] (2) NULL CONSTRAINT [DF__TableDeta__IsEdi__4D555BD0] DEFAULT ('T') ) ON [PRIMARY] GO ALTER TABLE [dbo].[TableDetail] ADD CONSTRAINT [PK__TableDet__5769799B438BFA74] PRIMARY KEY CLUSTERED ([TableName], [FileNames]) ON [PRIMARY] GO
GetSetGridContrl 方法的代码
/// <summary> /// GridContrl--GridView 的设置 /// </summary> /// <param name="gridView1">gridView1</param> /// <param name="IndicatorWidth">-1 列的宽度</param> /// <param name="dt"> 绑定的数据源</param> /// <param name="ColCaption">列标题</param> public void GetSetGridContrl(DataTable dt, GridView gridView1, int IndicatorWidth, string NameSpacePath) { //设置列索引为-1的列宽 gridView1.IndicatorWidth = IndicatorWidth; gridView1.OptionsView.ShowAutoFilterRow = true; gridView1.OptionsView.ColumnAutoWidth = false; //自动列宽,会出现横向滚动条 gridView1.OptionsView.ColumnAutoWidth = false; //自动列宽 gridView1.BestFitColumns(); gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略 gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效 gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色 gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效 gridView1.OptionsView.ShowGroupPanel = false; string FileNames = "", REM = "", LONG = "", type2 = ""; try { for (int i = 0; i < dt.Rows.Count; i++) { FileNames = dt.Rows[i]["FileNames"].ToString(); REM = dt.Rows[i]["REM"].ToString(); LONG = dt.Rows[i]["LONG"].ToString(); type2 = dt.Rows[i]["type2"].ToString(); DevExpress.XtraGrid.Columns.GridColumn Col1 = new DevExpress.XtraGrid.Columns.GridColumn(); try { Col1.Width = Convert.ToInt32(LONG); } catch (Exception ex) { Col1.Width = 100; } Col1.Tag = FileNames; Col1.Name = "Col" + FileNames; Col1.FieldName = FileNames; Col1.Caption = REM; if (type2 == "时间") { Col1.DisplayFormat.FormatType = FormatType.DateTime; Col1.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss"; } if (type2 == "数值") { Col1.DisplayFormat.FormatString = "N4"; Col1.DisplayFormat.FormatType = FormatType.Numeric; } Col1.VisibleIndex = i; gridView1.Columns.Add(Col1); } } catch (Exception) { } //添加 行索引事件 gridView1.CustomDrawRowIndicator += gridView1_CustomDrawRowIndicator; //布局变化时产生事件 gridView1.Layout += gridView1_Layout; string xmlfile = path + NameSpacePath.Replace(".", "") + gridView1.Name + ".xml"; gridView1.Tag = xmlfile; LoadLayout(gridView1);//加载窗格 gridView1.OptionsView.ShowFooter = true; gridView1.RowStyle += gridView1_RowStyle; }
//首列行索引 和 不带百分号的模糊查询 设置 public static void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e) { GridView gridView1 = (GridView)sender; //设置行索引:列索引等于-1处设置行索引。 if (e.Info.IsRowIndicator && e.RowHandle >= 0) { e.Info.DisplayText = (e.RowHandle + 1).ToString(); } //设置筛选行不用输入百分号直接筛选 foreach (DevExpress.XtraGrid.Columns.GridColumn item in gridView1.Columns) { item.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; //筛选条件设置为包含 } }
/// <summary> /// 布局变化时产生事件 ///保存表格布局 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void gridView1_Layout(object sender, EventArgs e) { GridView gridView1 = (GridView)sender; SaveLayout(gridView1);//布局变化时 自动保存窗格布局 }
///选中行的颜色和背景设置 public void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) { GridView gridView1 = (GridView)sender; gridView1.Appearance.FocusedRow.ForeColor = Color.Red;//字体颜色 gridView1.Appearance.FocusedRow.BackColor = Color.Linen;//行背景颜色 }
二、 GridColumn-->RepositoryItemSearchLookUpEdit --> gridView -->
public GridView SearchLookGridView = new GridView ();
SearchLookGridView 添加列
GridColumn ColPRDTYPE = new GridColumn(); ColPRDTYPE.Tag = "PRDTYPE"; ColPRDTYPE.Name = "Col" + "PRDTYPE"; ColPRDTYPE.FieldName = "PRDTYPE"; ColPRDTYPE.Caption = "类型"; ColPRDTYPE.VisibleIndex = 1; SearchLookGridView.Columns.Add(ColPRDTYPE); //---------------------- GridColumn ColPRD_NO = new GridColumn(); ColPRD_NO.Tag = "PRD_NO"; ColPRD_NO.Name = "Col" + "PRD_NO"; ColPRD_NO.FieldName = "PRD_NO"; ColPRD_NO.Caption = "产品编号"; ColPRD_NO.VisibleIndex = 2; SearchLookGridView.Columns.Add(ColPRD_NO); //---------------------- GridColumn ColBARCODE = new GridColumn(); ColBARCODE.Tag = "BARCODE"; ColBARCODE.Name = "Col" + "BARCODE"; ColBARCODE.FieldName = "BARCODE"; ColBARCODE.Caption = "条形码"; ColBARCODE.VisibleIndex = 3; SearchLookGridView.Columns.Add(ColBARCODE);
//GridContrl 创建一列 GridColumn gridColumnName = new GridColumn(); //创建对象 下拉 组件对象RepositoryItemSearchLookUpEdit RepositoryItemSearchLookUpEdit repositoryItemSearchLookUpEdit1 = new RepositoryItemSearchLookUpEdit(); repositoryItemSearchLookUpEdit1.AutoHeight = false; repositoryItemSearchLookUpEdit1.AutoHeight = false; repositoryItemSearchLookUpEdit1.Buttons.AddRange( new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) } ); repositoryItemSearchLookUpEdit1.DisplayMember = "PRD_Name";//显示值 repositoryItemSearchLookUpEdit1.Name = "repositoryItemSearchLookUpEdit1"; repositoryItemSearchLookUpEdit1.ValueMember = "PRD_NO";//实际值 repositoryItemSearchLookUpEdit1.View = SearchLookGridView; //下拉框中的表格:Gridview对象 repositoryItemSearchLookUpEdit1.DataSource = DtGoods;//DtGoods数据源对象 //------------------------------------------------------ gridColumnName.Caption = REM;//标题 gridColumnName.ColumnEdit = repositoryItemSearchLookUpEdit1;//绑定下拉控件 gridColumnName.FieldName = FileNames;//设置数据源字段 gridColumnName.Name = "Col" + FileNames;//设置列Name属性 gridColumnName.Visible = true; gridColumnName.VisibleIndex = i; //----------------------------------------------------- gridView1.Columns.Add(gridColumnName);