首页 > 代码库 > DevExpress.GridControl.gridView的一些注意

DevExpress.GridControl.gridView的一些注意

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] = 
pFeatureLayer.Name;
rowArray[1] = 
false;
pDataRow.ItemArray = 
rowArray;

pDatatable.Rows.Add(pDataRow);
}

this.gridMark.DataSource = 
pDatatable;

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

7.多选

GridControl->GridView->属性->OptinosSelecttion->MultiSelect

8.不显示子表信息

当我们对DataTable建立父子关系后,将父表绑定在Grid上,会造成关系列上有加号显示,并且可以展开.如果你觉得展开的信息对你没有意义的话,是可以关掉的.这是需要修改属性

属性Gridview->Option View->ShowDetailButtons=false

DevExpress.GridControl.gridView的一些注意