GridControl控件的基本功能总结
今天需要做一个结构比较复杂的报表,第一次使用GridControl的bands的功能,可以在表格的列下再设置更细分的列。
点击选择AdvBandeGridView,即可设计你需要的复杂表结构。
可直接再设计器里添加bands和columns,再把columns绑定到相应的bands
也可用代码添加:
1.添加bands:
DevExpress.XtraGrid.Views.BandedGrid.GridBand newBand = new DevExpress.XtraGrid.Views.BandedGrid.GridBand();
newBand.Name = bandName.ToUpper();
newBand.Caption = bandName;
newBand.AppearanceHeader.Options.UseTextOptions = true;
newBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
advBandedGridView1.Bands.Add(newBand);
2.添加column:
DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn newGridColumn=
new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();
newGridColumn.Name = "col" + columnName.ToUpper();//列的标识名,唯一
newGridColumn.Caption = CaptionValue;//列显示的名字
newGridColumn.FieldName = columnName.ToUpper();//列的数据来源的字段名
advBandedGridView1.Columns.Add(newGridColumn);
3.把column绑定到bands:
newBand.Columns.Add(newGridColumn);
4.给GridControl赋数据源:
GridControl.DataSource=dt;
dt的列名应与绑定到bands上的列的FieldName一致。
5.band 居中:
newBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
6.可选中单个单元格复制:
gridView2.OptionsBehavior.Editable = false;
gridView2.OptionsSelection.MultiSelect = true;
private void AdvBandedGridView1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.Control & e.KeyCode == Keys.C)
{
Clipboard.SetDataObject(advBandedGridView1.GetFocusedRowCellValue(advBandedGridView1.FocusedColumn));
e.Handled = true;
}
}
//自动调整所有字段宽度
this.gridView1.BestFitColumns();
//调整某列字段宽度
this.gridView1.Columns[n].BestFit();
1.DevExpress控件组中的GridControl控件不能使横向滚动条有效。现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容。
解决:
gridView1.OptionsView.ColumnAutoWidth属性是true,即各列的宽度自动调整,你把它设成false,就会出现了。
2.使单元格不可编辑。
gridcontrol -->gridview -->OptionsBehavior -->Editable=false
3.去除"Drag a Column Header Here To Group by that Column"
属性Gridview->Option View->Show Group Panel=false,就好了