using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using UI.Framework.Entitys;
using DevExpress.XtraGrid.Columns;
namespace UI.Framework.Controls
{
public partial class GridPageControl : DevExpress.XtraEditors.XtraUserControl
{
public GridPageControl()
{
InitializeComponent();
}
///
///
///
public void Bind(PageControl.SerchEvents serchDataMethod, int pageSize = 30)
{
try
{
var type = typeof(T);
var properties = type.GetProperties();
int number = 1;
List GridColumns = new List();
foreach (var item in properties)
{
DataViewAtrribute att = item.GetCustomAttributes(typeof(DataViewAtrribute), true).FirstOrDefault() as DataViewAtrribute;
var column = new DevExpress.XtraGrid.Columns.GridColumn();
column.Caption = att != null ? att.Name : item.Name;
column.Name = item.Name;
column.Visible = true;
column.VisibleIndex = item.Name.ToLower() == "id" ? 0 : number;
if (item.Name.ToLower() == "id") column.MinWidth = column.Width = column.MaxWidth = 80;
column.FieldName = item.Name;
GridColumns.Add(column);
}
this.gridView1.Columns.AddRange(GridColumns.ToArray());
this.DataPage.Bind(serchDataMethod, DataView, pageSize);//给分页组件绑定值,搜索函数,显示控件,每页显示行数
}
catch (Exception)
{ }
}
///
/// 绑定数据源
///
public void Bind(PageControl.SerchEvents serchDataMethod, int pageSize = 30)
{
try
{
this.DataPage.Bind(serchDataMethod, DataView, pageSize);//给分页组件绑定值,搜索函数,显示控件,每页显示行数
}
catch (Exception)
{ }
}
///
///
///
private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
try
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
catch (Exception)
{ }
}
}
}