天涯一飘絮

导航

 
关于GridControl的几点介绍
1.     它的功能类似与 Visual Studio .NET 2003自带的 DataGrid ,用于数据的客户端展示。开发者可以领用程序控制进行分页现实,分页方法在此不予介绍了。
2.     它与DataGrid的不同就在于其功能的非常强大,可以直接设计报表并可导出为Excel,Txt,Hmtl 格式。免去了再用其他控件设计报表的烦杂。

常用的几个对象
private DevExpress.XtraGrid.GridControl gridControl1;//整个数据容器
private DevExpress.XtraGrid.Views.BandedGrid.BandedGridView bandedGridView1;//显示容器
private DevExpress.XtraGrid.Views.BandedGrid.GridBand gridBand1;//用于设计表头
private DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn bandedGridColumn1;//用于数据项
之间的关系如下
gridControl1 包含 GridView ,BandedGridView,CarView 以及 AdvBandedGridView,其中bandedGridView又包含 GridBand 和 BandedGridColumn,下面本文以bandedGridView 为列作一使用介绍.

设计样图

步骤一:
将控件拖至设计窗体中,点击 Click here to change view 转换默认gridView为bandedGridView 样式,因为此样式可以给数据设计表头。
步骤二:
点击 Run Designer 进入设计界面入下图


步骤三:
图中 1 框选的按钮功能为添加 数据项bandedGridColumn1 ,根据字段的多少进行添加,
每个字段对应一个数据项。
步骤四:图中 3框选的按钮功能为添加 表头gridBand1,根据需要的数据进行添加。
步骤五:
添加完数据项和表头就需要进行样式设计,即图中2框选的按钮功能。可以自由的进行表头拖动合并,仅需鼠标即可完成,十分方便快捷。如果在字段数量较大的情况,建议使用程序进行控制,因为过多的字段在有限的屏幕中很难控制。
设计过程中gridBand1的放置在表头最底层上bandedGridColumn进行一一对应。为了不显示bandedGridColumn名称,可将属性中的Caption 设置为空字符即一个空格。

代码控制片段
oracleConnection conn = null;
             oracleCommand command = null;
             try
             {
                 conn = DBConnection.GetConnection();
                 command = new oracleCommand(m_query_elqc_sql,conn);
                 oracleDataAdapter oraAdapter = new oracleDataAdapter(command);
                 DataSet ds = new DataSet();
                 oraAdapter.Fill(ds);
                
                 if(ds.Tables.Count < 1 ) return ;

                 DataTable dt = ds.Tables[0];
                 gridControl1.DataSource = dt;
                 //绑定数据
                 gridColumn1.FieldName = dt.Columns[0].ColumnName;
                 gridColumn2.FieldName = dt.Columns[1].ColumnName;
                 gridColumn3.FieldName = dt.Columns[2].ColumnName;
                 gridColumn4.FieldName = dt.Columns[3].ColumnName;
                 gridColumn5.FieldName = dt.Columns[4].ColumnName;
                 gridColumn6.FieldName = dt.Columns[5].ColumnName;
                 gridColumn7.FieldName = dt.Columns[6].ColumnName;
                 gridColumn8.FieldName = dt.Columns[7].ColumnName;
                 gridColumn9.FieldName = dt.Columns[8].ColumnName;
                 gridColumn10.FieldName = dt.Columns[9].ColumnName;
                 gridColumn11.FieldName = dt.Columns[10].ColumnName;
                 gridColumn12.FieldName = dt.Columns[11].ColumnName;
                 gridColumn13.FieldName = dt.Columns[12].ColumnName;
             }
             finally
             {
                 conn.Close();
}
如果需要通过代码进行表头和数据项的设计,可参阅“Windows 窗体设计器生成的代码”中自动生成的方法.
导出报表
仅需如下一步即可完成
this.gridControl1.ExportToExcel(m_savefilename);

存在的不足
1 字段过多不易显示
2 导出报表后字体的样式和表头的背景颜色丢失
posted on 2010-03-11 15:55  冰云  阅读(1586)  评论(0编辑  收藏  举报