#region
|
|
using System;
|
using System.Collections;
|
using System.Data;
|
using CSFrameworkV5.Core;
|
using DevExpress.XtraGrid.Views.Grid;
|
|
#endregion
|
|
namespace CSFrameworkV5.Library.CommonClass
|
{
|
/// <summary>
|
/// Dev GridView代理类
|
/// </summary>
|
public class DevGridView : ISummaryView
|
{
|
private GridView _view;
|
|
/// <summary>
|
/// 构造器
|
/// </summary>
|
/// <param name="view">GridView控件</param>
|
public DevGridView(GridView view)
|
{
|
_view = view;
|
}
|
|
#region ISummaryView Members
|
|
/// <summary>
|
/// GridView控件
|
/// </summary>
|
public object View => _view;
|
|
public void ExportData(string format, string file)
|
{
|
if (format == "XLS") _view.ExportToXls(file);
|
|
if (format == "PDF") _view.ExportToPdf(file);
|
}
|
|
/// <summary>
|
/// 记录数
|
/// </summary>
|
public int RowCount => _view.RowCount;
|
|
/// <summary>
|
/// 当前选中的资料行
|
/// </summary>
|
public int FocusedRowHandle
|
{
|
get => _view.FocusedRowHandle;
|
set => _view.FocusedRowHandle = value;
|
}
|
|
/// <summary>
|
/// 数据源
|
/// </summary>
|
public object DataSource
|
{
|
get => _view.GridControl.DataSource;
|
set
|
{
|
_view.GridControl.DataSource = null;
|
_view.GridControl.DataSource = value;
|
}
|
}
|
|
/// <summary>
|
/// 获取指定资料行
|
/// </summary>
|
/// <param name="rowHandle">资料行索引</param>
|
/// <returns></returns>
|
public DataRow GetDataRow(int rowHandle)
|
{
|
return _view.GetDataRow(rowHandle);
|
}
|
|
/// <summary>
|
/// 刷新数据源,重新显示数据
|
/// </summary>
|
public void RefreshDataSource()
|
{
|
_view.GridControl.RefreshDataSource();
|
}
|
|
public void MoveFirst()
|
{
|
_view.MoveFirst();
|
}
|
|
public void MovePrior()
|
{
|
_view.MovePrev();
|
}
|
|
public void MoveNext()
|
{
|
_view.MoveNext();
|
}
|
|
public void MoveLast()
|
{
|
_view.MoveLast();
|
}
|
|
public void SetFocus()
|
{
|
if (_view.GridControl.CanFocus) _view.GridControl.Focus();
|
}
|
|
public void BindingDoubleClick(EventHandler eventHandler)
|
{
|
_view.DoubleClick += eventHandler;
|
}
|
|
/// <summary>
|
/// 资料行索引是否有效
|
/// </summary>
|
/// <param name="rowHandle">资料行索引</param>
|
/// <returns></returns>
|
public bool IsValidRowHandle(int rowHandle)
|
{
|
return _view.IsValidRowHandle(rowHandle);
|
}
|
|
/// <summary>
|
/// 刷新资料行的数据
|
/// </summary>
|
/// <param name="rowHandle">资料行索引</param>
|
public void RefreshRow(int rowHandle)
|
{
|
_view.RefreshRow(rowHandle);
|
}
|
|
public void RemoveRow(int rowHandle)
|
{
|
if (_view.IsValidRowHandle(rowHandle))
|
{
|
var row = _view.GetDataRow(rowHandle);
|
|
if (_view.GridControl.DataSource is DataTable)
|
{
|
var dt = _view.GridControl.DataSource as DataTable;
|
dt.Rows.Remove(row); //删除数据源的记录
|
dt.AcceptChanges();
|
}
|
else if (_view.GridControl.DataSource is IList)
|
{
|
var dt = _view.GridControl.DataSource as IList;
|
dt.Remove(row); //删除数据源的记录
|
}
|
else
|
{
|
_view.DeleteRow(rowHandle); //删除视图的记录
|
}
|
}
|
}
|
|
#endregion
|
}
|
}
|