📄 clsprocgridexport.cs.svn-base
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using DevExpress.XtraGrid.Views.BandedGrid;
using DevExpress.XtraGrid.Views.BandedGrid;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid;
using DevExpress.Data;
namespace dist.hb.EnvQueryStat.Stat
{
/// <summary>
/// 当主分组是属性时,进行非地图的统计
/// </summary>
class clsProcGridExport
{
#region "类模块初始化"
public clsStatEnv StatEnv;
public clsCreateStatTable StatTable;
public DevExpress.XtraGrid.GridControl gridControl1;
public DevExpress.XtraGrid.Views.Grid.GridView gridView1;
public DevExpress.XtraGrid.GridControl gridControl2;
public DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView advBandedGridView2;
public clsProcGridExport()
{
StatEnv = null;
gridControl1 = null;
gridView1 = null;
advBandedGridView2 = null;
StatTable = null;
}
#endregion
public void ExportGrid()
{
if (StatEnv == null || StatTable == null) return;
if (StatEnv.SecondGroupField == "" || StatEnv.SecondGroupList == null || StatEnv.SecondGroupList.Count == 0)
{
ExportGridView();
}
else
{
ExporBandedGridView();
}
}
private void ExportGridView()
{
if (gridControl1 == null || gridView1 == null) return;
gridView1.Columns.Clear();
foreach (DataColumn var in StatTable.workTable.Columns)
{
DevExpress.XtraGrid.Columns.GridColumn gColumn = CreateGridColumn(var);
gridView1.Columns.Add(gColumn);
string ColumnType = var.DataType.Name.ToLower();
if (ColumnType.Contains("int") || ColumnType.Contains("double"))
{
//增加汇总字段
gColumn.SummaryItem.SetSummary(SummaryItemType.Sum, "");
gColumn.SummaryItem.FieldName = var.ColumnName;
}
}
gridControl1.DataSource = StatTable.workTable;
//gridView1.BestFitColumns();
}
private DevExpress.XtraGrid.Columns.GridColumn CreateGridColumn(DataColumn dc)
{
if (dc == null) return null;
DevExpress.XtraGrid.Columns.GridColumn gColumn = new DevExpress.XtraGrid.Columns.GridColumn();
gColumn.FieldName = dc.ColumnName;
gColumn.Caption = dc.Caption;
gColumn.Name = "gridColumn_" + dc.ColumnName;
gColumn.Visible = true;
gColumn.MinWidth = 80;
gColumn.Width = 90;
gColumn.VisibleIndex = gridView1.Columns.Count;
return gColumn;
}
private void ExporBandedGridView()
{
if (gridControl2 == null || advBandedGridView2 == null || StatTable == null) return;
advBandedGridView2.Bands.Clear();
advBandedGridView2.Columns.Clear();
gridControl2.DataSource = StatTable.workTable;
System.Type stringType;
stringType = System.Type.GetType("System.String");
clsProcMainGroupField procField = new clsProcMainGroupField();
procField.StatEnv = StatEnv;
GridBand gBand;
if (StatEnv.MainGroupType == 0) gBand = CreateGridBand("行政区域", "行政区域", 180);
else gBand = CreateGridBand("行政区域", "统计分类", 180);
gBand.AppearanceHeader.Options.UseTextOptions = true;
gBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
advBandedGridView2.Bands.Add(gBand);
BandedGridColumn column1;
column1 = CreateBandedGridColumn(procField.GetMainFieldCode(), "代码", 90);
advBandedGridView2.Columns.Add(column1);
gBand.Columns.Add(column1);
column1 = CreateBandedGridColumn(procField.GetMainFieldName(), "名称", 90);
advBandedGridView2.Columns.Add(column1);
gBand.Columns.Add(column1);
foreach (myItemInfo var1 in StatTable.SecondGroupList)
{
gBand = CreateGridBand(var1.ItemCode, var1.ItemName, 180);
gBand.AppearanceHeader.Options.UseTextOptions = true;
gBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
advBandedGridView2.Bands.Add(gBand);
int iWidth = 0;
foreach (StatItem var in StatTable.StatItemList)
{
string fieldName = var.fieldName + "_" + var1.ItemCode;
column1 = CreateBandedGridColumn(fieldName, var.fieldCapion, 90);
iWidth += 90;
advBandedGridView2.Columns.Add(column1);
gBand.Columns.Add(column1);
column1.SummaryItem.FieldName = fieldName;
column1.SummaryItem.SetSummary(SummaryItemType.Sum, "");
}
gBand.Width = iWidth;
}
}
private GridBand CreateGridBand(string name, string caption, int width)
{
GridBand gridBand1 = new GridBand();
gridBand1.Caption = caption;
//gridBand1.Columns.Add(this.bandedGridColumn3);
gridBand1.Name = name;
gridBand1.Width = width;
return gridBand1;
}
private BandedGridColumn CreateBandedGridColumn(string name, string caption, int width)
{
BandedGridColumn bandedGridColumn = new BandedGridColumn();
bandedGridColumn.Caption = caption;
bandedGridColumn.Name = name;
bandedGridColumn.FieldName = name;
bandedGridColumn.Visible = true;
bandedGridColumn.Width = width;
//this.advBandedGridView2.Columns.AddRange(new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn[] {
// this.bandedGridColumn1,
// this.bandedGridColumn2,
// this.bandedGridColumn3,
// this.bandedGridColumn4});
return bandedGridColumn;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -