大明山滑雪场票价:DevExpress控件的GridControl控件小结_Walking through ...

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 13:47:35

DevExpress控件的GridControl控件小结


(由于开始使用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] = 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