赞
踩
DataTable dt = new DataTable();
dt.Columns.Add("gc1", typeof(string)); // DaTaTable 增加列,确定 列名和 列的数据类型
dt.Columns.Add("gc2", typeof(string));
dt.Columns.Add("gc3", typeof(string));
dt.Rows.Add("张三", "男", "18" );// 增加行
dt.Rows.Add("李四", "男", "22");
dt.Rows.Add("小芳", "女", "22");
this.gridControl1.DataSource = dt;
private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
{
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
}
//view.OptionsView.ShowViewCaption = true; //显示标题 view.OptionsView.EnableAppearanceEvenRow = true; //奇偶行颜色 view.OptionsView.EnableAppearanceOddRow = true; view.OptionsView.ShowButtonMode = ShowButtonModeEnum.ShowForFocusedRow; //单元格按钮显示方式 view.OptionsView.ColumnHeaderAutoHeight = DefaultBoolean.True; //列头自动换行 view.OptionsView.ShowGroupPanel = false; view.OptionsView.ShowIndicator = true; view.BestFitColumns(); //view.IndicatorWidth = 60; view.OptionsCustomization.AllowFilter = false; //禁用过滤 view.OptionsCustomization.AllowColumnMoving = false; //禁止移动列头 view.OptionsMenu.EnableColumnMenu = false; //禁用控件自带右键菜单 view.OptionsMenu.EnableFooterMenu = false; view.OptionsMenu.EnableGroupPanelMenu = false; //view.OptionsFind.AlwaysVisible = true; //view.OptionsFind.ShowClearButton = false; //view.OptionsFind.ShowFindButton = false; //view.OptionsFind.FindNullPrompt = "输入搜索文本,搜索..."; view.OptionsBehavior.AllowFixedGroups = DefaultBoolean.True; view.OptionsBehavior.AllowPixelScrolling = DefaultBoolean.True; view.OptionsSelection.CheckBoxSelectorColumnWidth = 30; view.OptionsSelection.MultiSelect = true; //启用复选框 view.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect;
this.repositoryItemComboBox3.SelectedIndexChanged += new System.EventHandler(this.repositoryItemComboBox3_SelectedIndexChanged);
// 自定义每个单元格的 编辑器 类型 private void gvCementSlurryFormula_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) { DevExpress.XtraEditors.Repository.RepositoryItemComboBox ItemComboBox = new DevExpress.XtraEditors.Repository.RepositoryItemComboBox();// 下拉框 ItemComboBox.Items.Add(""); ItemComboBox.Items.Add("浅表层常规密度体系"); ItemComboBox.Items.Add("深表层常规密度体系"); ItemComboBox.Items.Add("深表层粉煤灰低密度体系"); ItemComboBox.Items.Add("JS-2常规密度体系"); ItemComboBox.Items.Add("永旭常规密度体系"); ItemComboBox.AppearanceDropDown.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; // 居中 ItemComboBox.SelectedIndexChanged += ItemComboBox_SelectedIndexChanged; // 绑定事件 DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit ItemMemoEdit = new DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit(); // 文本框 if (e.RowHandle==0&&e.Column.Name!="col1") // 第一行 { e.RepositoryItem = ItemComboBox; // 下拉框 } if (e.RowHandle == 1 && e.Column.Name != "col1") // 第一行 { e.RepositoryItem = ItemMemoEdit; // 文本框 } }
对于以上自定义 编辑器控件 的属性和事件,建议多看看 类,在该类中可以参考如何为控件属性赋值和定义事件,我们通过界面设置的各种参数,可以在该类中生成对应代码,所以我们也可以在该类中直接编辑代码。
将单元格设置为某编辑器控件之后,该编辑器控件的很多属性和事件都没法通过界面的形式进行设置。我们可以先对该编辑器控件的原本控件进行界面设置。如 repositoryItemComboBox 对应 ComboBox,repositoryItemButtonEdit对应ButtonEdit。我们再到 *.designer.cs 类中去看 控件的事件和属性是怎么设置的,这样我们手动设置单元格中的编辑器控件的事件和属性就容易多了。
//
this.repositoryItemButtonEdit1.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit1ButtonClick);
// 单击 单元格中控件
public void repositoryItemButtonEdit1ButtonClick(object sender, ButtonPressedEventArgs e)
{
// sender用来获取当前触发事件的控件。
//获取单元格的值
ButtonEdit bte = sender as ButtonEdit;
//根据按钮的位置获取其选择的行
//显示新界面
frmDrillingfluidMaterialConsumption frmDrillingfluidMaterialConsumption = new frmDrillingfluidMaterialConsumption(bte.Text, sender);
frmDrillingfluidMaterialConsumption.Show();
frmDrillingfluidMaterialConsumption.OnConsumptionToMd += FrmDrillingfluidMaterialConsumption_OnConsumptionToMd;
}
BandedGridColumn bandedGridColumn = (new BandedGridColumn() { Name = cFieldName, FieldName = cFieldName, Caption = cCaption, VisibleIndex = 0 });
bandedGridColumn.ColumnEdit = this.repositoryItemButtonEdit1;//设置该列的编辑器类型
Quantity.Columns.Add(bandedGridColumn); //
BandedGridView :带区网格视图,以类似于网格视图的二维表格来显示数据,并且把一个或多个列bandedGridColumn组织到带区GridBand内。
将 gridColumn列拖动加入到对应的gridBand中
可通过这是 GridBand的属性,将界面设置为自己想要的样子。比如
效果图:
下一次,世界精彩处见!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。