Devexpress常见问题

Posted 守望阳光01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]

以上是关于Devexpress常见问题的主要内容,如果未能解决你的问题,请参考以下文章

一行代码去掉Devexpress弹窗

DevExpress Winform:纯代码方式创建PopupMenu

ASP.NET MVC UpdateModel 不工作(使用 Devexpress)

DevExpress gridview 代码添加按钮

csharp 一些devexpress代码块在视图中

devexpress源码重编译是啥意思