using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Web.UI.WebControls;
namespace YYControls
{
/// <summary> /// SmartGridView类的属性部分 /// </summary> public partial
class SmartGridView
{
/// <summary> /// 导出SmartGridView的数据源的数据 /// </summary> /// <param name="fileName">文件名</param> /// <param name="exportFormat">导出文件的格式</param> /// <param name="encoding">编码</param> public void Export(
string fileName, ExportFormat exportFormat, Encoding encoding)
{
DataTable dt = GetDataTable();
Helper.Common.Export(dt, exportFormat, fileName, encoding);
}
/// <summary> /// 导出SmartGridView的数据源的数据 /// </summary> /// <param name="fileName">文件名</param> /// <param name="exportFormat">导出文件的格式</param> public void Export(
string fileName, ExportFormat exportFormat)
{
Export(fileName, exportFormat, Encoding.GetEncoding(
"GB2312"));
}
/// <summary> /// 导出SmartGridView的数据源的数据为Excel /// </summary> /// <param name="fileName">文件名</param> public void Export(
string fileName)
{
Export(fileName, ExportFormat.CSV);
}
/// <summary> /// 导出SmartGridView的数据源的数据 /// </summary> /// <param name="fileName">输出文件名</param> /// <param name="columnIndexList">导出的列索引数组</param> /// <param name="exportFormat">导出文件的格式</param> /// <param name="encoding">编码</param> public void Export(
string fileName,
int[] columnIndexList, ExportFormat exportFormat, Encoding encoding)
{
DataTable dt = GetDataTable();
Helper.Common.Export(dt, columnIndexList, exportFormat, fileName, encoding);
}
/// <summary> /// 导出SmartGridView的数据源的数据 /// </summary> /// <param name="fileName">输出文件名</param> /// <param name="columnNameList">导出的列的列名数组</param> /// <param name="exportFormat">导出文件的格式</param> /// <param name="encoding">编码</param> public void Export(
string fileName,
string[] columnNameList, ExportFormat exportFormat, Encoding encoding)
{
DataTable dt = GetDataTable();
Helper.Common.Export(dt, columnNameList, exportFormat, fileName, encoding);
}
/// <summary> /// 导出SmartGridView的数据源的数据 /// </summary> /// <param name="fileName">输出文件名</param> /// <param name="columnIndexList">导出的列索引数组</param> /// <param name="headers">导出的列标题数组</param> /// <param name="exportFormat">导出文件的格式</param> /// <param name="encoding">编码</param> public void Export(
string fileName,
int[] columnIndexList,
string[] headers, ExportFormat exportFormat, Encoding encoding)
{
DataTable dt = GetDataTable();
Helper.Common.Export(dt, columnIndexList, headers, exportFormat, fileName, encoding);
}
/// <summary> /// 导出SmartGridView的数据源的数据 /// </summary> /// <param name="fileName">输出文件名</param> /// <param name="columnNameList">导出的列的列名数组</param> /// <param name="headers">导出的列标题数组</param> /// <param name="exportFormat">导出文件的格式</param> /// <param name="encoding">编码</param> public void Export(
string fileName,
string[] columnNameList,
string[] headers, ExportFormat exportFormat, Encoding encoding)
{
DataTable dt = GetDataTable();
Helper.Common.Export(dt, columnNameList, headers, exportFormat, fileName, encoding);
}
/// <summary> /// 获取数据源(DataTable) /// </summary> private DataTable GetDataTable()
{
DataTable dt =
null;
if (
this._dataSourceObject
is DataTable)
dt = (DataTable)
this._dataSourceObject;
else if (
this._dataSourceObject
is DataSet)
dt = ((DataSet)
this._dataSourceObject).Tables[0];
else throw new InvalidCastException(
"若要导出SmartGridView,应保证其数据源为DataTable或DataSet类型");
if (dt ==
null)
throw new ArgumentNullException(
"数据源",
"数据源不能为NULL");
return dt;
}
}
}