DevExpress GridControl 部分用法

1、GridControl赋值:this.GridControl1.DataSouce=dt;

2、GridContro总合计及分组合计:

常规总合计直接RunDesigner-Group Summary Items

DisplayFormat 设置显示格式如:{0:P}表示显示为百分号模式。如数据源中为0.5。表示出来为50%

FieldName 设置显示的对应列

ShowInGroupColumnFooter 在那一列下面显示

SummaryType 合计方式。选择Custom表示自定义。CustomSummaryCalculate事件可处理

//Footer行自定义列合计
  GridView view = sender as GridView;
  if (e.Item == view.Columns["RateZk"].SummaryItem)
  {
    decimal x = Convert.ToDecimal(view.Columns["RetailFAmount"].SummaryItem.SummaryValue);
    decimal y = Convert.ToDecimal(view.Columns["RetailAmount"].SummaryItem.SummaryValue);
    view.Columns["RateZk"].SummaryItem.DisplayFormat = "{0:P}";
    if (y != 0)
    e.TotalValue = x / y;
    else
    e.TotalValue = 0;
  }
//分组行自定义合计列
  if (e.IsGroupSummary)
 {
    Hashtable ht = view.GetGroupSummaryValues(e.GroupRowHandle);

    foreach (DictionaryEntry entry in ht)
    {
      GridGroupSummaryItem sumItem = entry.Key as GridGroupSummaryItem;
      if (sumItem.FieldName.Equals("RetailFAmount"))
         retailFAmount = Convert.ToDecimal(entry.Value);
    }
    if (e.Item.ToString().Contains(view.Columns["RateZk"].SummaryItem.FieldName))
         e.TotalValue = retailFAmount

3、GridContro导出Excel操作:

SaveFileDialog saveFileDialog = new SaveFileDialog();
   saveFileDialog.Title = "导出Excel";
   saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";
   DialogResult dialogResult = saveFileDialog.ShowDialog(this);
   if (dialogResult == DialogResult.OK)
   {
     this.gvbrowse.OptionsPrint.AutoWidth = false; //设置导出的Excel自动调整列宽,列宽和控件的列宽一致
     this.gcbrowse.ExportToXls(saveFileDialog.FileName);
     //this.gcbrowse.ExportToXlsOld(saveFileDialog.FileName);//这个方法默认会自动调整列宽,但是office10以上版本有的会报错
     DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     this.gvbrowse.OptionsPrint.AutoWidth = true;
   }

4、GridControl列要显示百分号:

Run Designer-Columns列 FormatType="Numeric" FormatString="p"

5、gridView1.OptionsView.ShowGroupPanel = false; 不显示分组面板

6、gridView1.OptionsBehavior.Editable=false; 数据只读

7、设置列时间格式:Formatstring="yyyy-MM-dd HH:ss:mm"; FormatType="Numeric";

设置列数字格式:Formatstring="N2";(数据格式:F表浮点,N表整数,数字表示保留几位小数。N2等同于F2)

具体设置参见输入控件的属性的Mask属性

9、将所有组展开代码:gridView1.ExpandAllGroups();

10、自动调整所有字段宽度  this.gridView1.BestFitColumns();

调整某列字段宽度  this.gridView1.Columns[n].BestFit();

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

12、选择某行后获取当前表格数据  this.textBox1.Text = gridView2.GetDataRow(e.RowHandle)["列名"].ToString();

13、设置奇、偶行交替颜色

  • OptionsView.EnableAppearanceEvenRow = true;OptionsView.EnableAppearanceOddRow = true;

  • 设置Appearance.EvenRow.BackColor和Appearance.OddRow.BackColor

14、根据绑定的数据源自动产生列  gridView1.PopulateColumns();

15、设定选中一行 Grivview->OptionsBehavior->EditorShowMode 设置为:Click

16、出现GridControl加入选择列后,获取选中值出错的情况。加入如下代码。

gvresult.EndInit();gvresult.CloseEditor(); gvresult.UpdateCurrentRow()

17、设定GridControl只读。选择的列可复制。单独设置GridControl列ReadOnly=true

18、设定GridView自动查询列 gridView1.OptionsView.ShowAtuoFilterRow=true

19、判断选中行:if (!gvbrowse.IsValidRowHandle(gvbrowse.FocusedRowHandle)) return;

string x=(gvbrowse.GetDataRow(gvbrowse.FocusedRowHandle)["CID"]).ToString();

20、GridControl加入的checkbox要点很多次才能选中。在控件里找到OptionsBehavior下面的EditorShowMode属性设置成MouseDown

21、获取GridControl筛选后的数据。

第一种情况: 
DataView dv = this.gridView1.DataSource as DataView; DataTable dt= dv.Table; DataRow[] rows= dt.Select(this.gridView1.RowFilter);

第二种情况:

BindingSource dv = this.gvwResult.DataSource as System.Windows.Forms.BindingSource;

DataTable dt = dv.DataSource as DataTable;
DataRow[] filteredRows = dt.Select(this.gvwResult.RowFilter);
注:gridview的属性RowFilter恰好适合DataTable的Select方法。

时间: 2024-07-29 19:58:37

DevExpress GridControl 部分用法的相关文章

[DevExpress]GridControl 根据RowIndex和VisibleColumnsIndex来获取单元格值

关键代码: /// <summary> /// 根据rowIndex和visibleColumnsIndex来获取单元格可见值 /// </summary> /// <param name="view">GridView</param> /// <param name="rowIndex">rowIndex</param> /// <param name="visibleColu

实现DevExpress GridControl 只有鼠标双击后才进行修改数据

1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为MouseDownFocused 然后实现下面代码: private void gridView1_MouseDown(object sen

[Devexpress]GridControl 绑定DataSource时GridView列不变化

Devexpress  GridControl 绑定DataSource时GridView列不变化 1.使用VS自带的DataGridView替代 2.数据绑定以后调用 gridView.PopulateColumns()  函数 重新创建列 gcSummary.DataSource = _dtData; gvSummary.PopulateColumns();

[DevExpress]GridControl 删除所有行

关键代码: /// <summary> /// 删除全部行 /// </summary> /// <param name="gridView">GridView</param> public static void ClearRows(this GridView gridView) { bool _mutilSelected = gridView.OptionsSelection.MultiSelect;//获取当前是否可以多选 if (

DevExpress GridControl功能总结

原文:DevExpress GridControl功能总结 写在前面,Dev控件已经很久了,功能也很强大,截止到现在我编写文档出来的Dev的版本已经到了14.1了,看了Demo真的很强大,效果也很好,结合自己这一个月开发,分享一下自己研究过后的经验,不让大家走更多的弯路 DevExpress安装顺序 GridControl基本样式设置 GridControl常用事件和描述 GridControl右键菜单 GridControl全选和反选 GridControl添加小计功能 GridControl

[Irving] Wpf DevexPress GridControl 获取选中行

WPF前台绑定事件代码: <RelayAction TargetControl="{Binding ElementName=GCInstoragePart}" MethodName="GridClick" MethodParameter="{XParamBinding me}" TriggerEvent="Click" /> 后台事件代码: public void GridClick(RelayAction r,

[WinForm][DevExpress][GridControl]CustomColumnDisplayText Helper

在实际开发中,有时候需要对GridControl中列值进行转义,譬如1转义成完成等等,一般在诸如CustomColumnDisplayText事件中能够轻松完成,为了提高代码复用性,所以对CustomColumnDisplayText进行包装 关键代码: /// <summary> /// CustomColumnDisplayText Helper /// </summary> /// <param name="girdview">GridView

关于DevExpress GridControl控件中新增复选按钮一事

关于DevExpress GridControl新增复选按钮的事情,查了一下网上的文档,发现都是在查询的数据集[table]中新增一列供checkbox绑定使用.偶尔的一瞬间,我在DevExpress 的Demo上发现有使用CheckBox的例子,找了半天Demo的代码,还是没找到.然后就找到了设置的属性. 晚上的时候,想了想,感觉能试出来简直是运气.如下配置即可: 设置GridView中的[OptionsSelection]->[MultiSelectMode]设置为CheckBoxRowSe

[DevExpress]GridControl 同步列头checkbox与列中checkbox状态

关键代码: /// <summary> /// 同步列头checkbox与列中checkbox状态 /// </summary> /// <param name="view">GridView</param> /// <param name="fieldeName">需要绘制Checkbox的列名</param> /// <param name="e">Mouse