using DevExpress.XtraEditors; using DevExpress.XtraGrid.Columns; using System; using System.ComponentModel; using System.Reflection; using CompressorXN_Model.ViewModel.Response; namespace CompressorXN { public partial class FrmSearchResult : XtraForm { public FrmSearchResult() { InitializeComponent(); gridPage.PageIndex = 1; gridPage.PageSize = 20; dateTime_Begin.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); dateTime_End.Text = DateTime.Now.ToString("yyyy-MM-dd"); } /// /// 点击查询按钮 /// /// /// private void btn_Search_Click(object sender, EventArgs e) { CreateColumn(); } /// /// 动态创建列 /// private void CreateColumn() { Type type = typeof(ResultVM);//获取类型 PropertyInfo[] properties = type.GetProperties(); int visibleIndex = 10; foreach (PropertyInfo property in properties) { GridColumn gridColumn = new GridColumn(); string description = string.Empty; string name = property.Name; var attributes = (DescriptionAttribute[])property.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes.Length > 0) { description = attributes[0].Description; } if (name == "Id" || name == "SerialNum" || name == "ProductType" || name == "ProductCode" || name == "ScreenCode" || name == "MainPanelCode" || name == "SamplePanelCode" || name == "CreatedTime" || name == "TotalStatus") { continue; } gridColumn.AppearanceCell.Font = new System.Drawing.Font("微软雅黑", 11.25F); gridColumn.AppearanceCell.ForeColor = System.Drawing.Color.White; gridColumn.AppearanceCell.Options.UseFont = true; gridColumn.AppearanceCell.Options.UseForeColor = true; gridColumn.AppearanceCell.Options.UseTextOptions = true; gridColumn.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; gridColumn.AppearanceHeader.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(6)))), ((int)(((byte)(30)))), ((int)(((byte)(78))))); gridColumn.AppearanceHeader.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold); gridColumn.AppearanceHeader.Options.UseBackColor = true; gridColumn.AppearanceHeader.Options.UseFont = true; gridColumn.AppearanceHeader.Options.UseTextOptions = true; gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; gridColumn.Caption = description; gridColumn.FieldName = name; gridColumn.MinWidth = 250; gridColumn.Name = name; gridColumn.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False; gridColumn.OptionsColumn.AllowMove = false; gridColumn.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False; gridColumn.OptionsColumn.ReadOnly = true; gridColumn.OptionsFilter.AllowFilter = false; gridColumn.VisibleIndex = visibleIndex; this.gridView_SearchResult.Columns.Add(gridColumn); visibleIndex++; } } } }