DevExpress控件的GridControl控件小结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1. DevExpress控件组中的GridControl控件不能使横向滚动条有效。 (2)

2. 使单元格不可编辑。 (2)

3. 没有下拉滚动条事件怎么办? (2)

4. 获取选定行,指定列单元格的内容 (2)

5. 去除"Drag a Column Header Here To Group by that Column" (3)

6. 在gridcontrol中添加checkbox复选框 (3)

7. 单元格合并问题 (4)

8. gridView 奇行与偶行交替变色 (4)

9. girdView在第一列显示行号 (4)

10. 选中某列进行排序时,如何让该列高亮显示 (5)

11. XtraGrid冻结列 (5)

(由于开始使用DevExpress控件了,所以要点滴的记录一下)

1.DevExpress控件组中的GridControl控件不能使横向滚动条有效。

现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容。

解决:

gridView1.OptionsView.ColumnAutoWidth属性是true,即各列的宽度自动调整,你把它设成false,就会出现了。

2.使单元格不可编辑。

gridcontrol -->gridview -->OptionsBehavior -->Editable=false

3.没有下拉滚动条事件怎么办?

现象:因为需要加载大数据量数据,所以不能一次把所有数据读入datatable进行绑定,所以决定在用户进一步浏览数据时进行数据的实时加载工作,就是每当用户拉动滚动条时,多加载一些数据进入datatable.没有找到合适的滚动条事件,于是用这个事件代替了,非常合适我的需求.

TopRowChanged事件.

4.获取选定行,指定列单元格的内容

private string GetSelectOID()

{

int[] pRows = this.gridView1.GetSelectedRows();

if (pRows.GetLength(0) > 0)

return gridView1.GetRowCellValue(pRows[0], mOIDFiledName).ToString ();

else

return null;

}

//mOIDFiledName为要获取列的列名

5.去除"Drag a Column Header Here To Group by that Column"

属性Gridview->Option View->Show Group Panel=false,就好了

6.在gridcontrol中添加checkbox复选框

gridview->run designer->columns->选择要变成复选框的那一列->column edit->new(在这里可以选择很多类型)

加载checkbox数据时,费了一点时间,checkbox的复选框怎么点击,一失去焦点是,选择的操作就无效了,问题就出在datatable的绑定上了,一定要绑定一个布尔的类型.

代码是这样滴!

private void FrmCreateLegend_Load(object sender, EventArgs e)

{

IFeatureLayer pFeatureLayer;

IDataset pDataset;

string pName;

DataTable pDatatable = new DataTable();

pDatatable.Columns.Add("图层名称", System.Type.GetType("System.String"));

pDatatable.Columns.Add("选择", System.Type.GetType("System.Boolean"));

DataRow pDataRow;

object[] rowArray = new object[2];

for (int i = 0; i < mFeatureLayers.Count; i++)

{

pDataRow = pDatatable.NewRow();

pFeatureLayer = mFeatureLayers[i] as IFeatureLayer;

rowArray[0] = ;

rowArray[1] = false;

pDataRow.ItemArray = rowArray;

pDatatable.Rows.Add(pDataRow);

}

this.gridMark.DataSource = pDatatable;

this.gridMark.Refresh();

}

注意:创建的datatable的列名一定要和gridview中的列的fieldname属性值是一个名字,不然,你会发现添加了和你绑定的datatalbe一样多的行,可是行里面却没有内容的.

第三方控件GridControl 使用技巧

自开始接触此第三方控件至今三个月,经常使用,三个月中碰到一些问题,一一解决,如是现在整理使用的内容:

7.单元格合并问题

(1)窗体加载时

ceMerging.Checked = gridView1.OptionsView.AllowCellMerge;

(2)添加事件

private void ceMerging_CheckedChanged(object sender, EventArgs e)

{

gridView1.OptionsView.AllowCellMerge = ceMerging.Checked;

}

8.gridView 奇行与偶行交替变色

this.gridView1.OptionsView.EnableAppearanceEvenRow = true;

this.gridView1.OptionsView.EnableAppearanceOddRow = true;

this.gridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));

eBackColor = true;

this.gridView1.Appearance.OddRow.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));

eBackColor = true;

9.girdView在第一列显示行号

//调整第一列的宽度

this.gridView1.IndicatorWidth = 40;

//添加监听事件

this.gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(this.gridView1_Custom DrawRowIndicator);

//事件

private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)

{

if (.IsRowIndicator && e.RowHandle >= 0)

{

.DisplayText =

相关文档
最新文档