列表控件基类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

namespace EfwControls.CustomControl
{

#region TextBoxCard
/// <summary>
/// 匹配模式
/// </summary>
public enum MatchModes
{
/// <summary>
/// 任意字符
/// </summary>
ByAnyString = 0,
/// <summary>
/// 按首字符
/// </summary>
ByFirstChar = 1
}

public delegate void AfterSelectedRowHandler(object sender, object SelectedValue);

/// <summary>
/// 翻页事件
/// </summary>
/// <param name="sender">对象</param>
/// <param name="pageNo">当前页</param>
/// <param name="pageSize">页大小</param>
public delegate void PagerTextEventHandler(object sender, int pageNo, int pageSize, string fiterChar);

#endregion

#region GridBoxCard
/// <summary>
/// DataGridViewEx中的选项卡选中行后的事件委托
/// </summary>
/// <param name="SelectedValue"></param>
/// <param name="stop">停止跳转</param>
/// <param name="customNextColumnIndex">跳转到指定列</param>
public delegate void OnSelectCardRowSelectedHandle(object SelectedValue, ref bool stop, ref int customNextColumnIndex);
/// <summary>
/// 翻页事件
/// </summary>
/// <param name="sender">对象</param>
/// <param name="index">ShowCard数据源索引</param>
/// <param name="pageNo">当前页</param>
/// <param name="pageSize">页大小</param>
public delegate void PagerGridEventHandler(object sender, int index, int pageNo, int pageSize, string fiterChar);

/// <summary>
/// 自动新增一行时给dataRow赋值
/// </summary>
/// <param name="dataRow">新增一行赋值</param>
public delegate void UserAddGirdRowHandler(DataRow dataRow);
/// <summary>
/// 自动新增一行自定义规则
/// </summary>
/// <returns></returns>
public delegate bool UserAddGridRowCustom();

/// <summary>
/// 单元格回车事件
/// </summary>
/// <param name="sender"></param>
/// <param name="colIndex">当前列号</param>
/// <param name="rowIndex">当前行号</param>
/// <param name="jumpStop">停止跳转</param>
public delegate void OnDataGridViewCellPressEnterKeyHandle(object sender, int colIndex, int rowIndex, ref bool jumpStop);


/// <summary>
/// 网格选项卡类
/// </summary>
public class DataGridViewSelectionCard
{
private DataGridViewTextBoxColumn[] columns;
private System.Data.DataTable dataSource;
private System.Drawing.Size cardSize = new Size(350, 276);
private MatchModes selectCardFilterType;
private int bindColumnIndex;
private DataRow[] filterResult;
public DataGridViewSelectionCard()
{

}

private string _CardColumn;
[Description("选项卡列信息,如:Code|编码|80,Name|名称|120")]
public string CardColumn
{
get { return _CardColumn; }
set { _CardColumn = value; }
}

/// <summary>
/// 选择卡列信息
/// </summary>
public DataGridViewTextBoxColumn[] ShowCardColumns
{
get
{
return columns;
}
set
{
columns = value;
}
}
/// <summary>
/// 选择卡数据源
/// </summary>
public System.Data.DataTable DataSource
{
get
{
return dataSource;
}
set
{
dataSource = value;
}
}
/// <summary>
/// 选择卡大小
/// </summary>
public System.Drawing.Size CardSize
{
get
{
return cardSize;
}
set
{
cardSize = value;
}
}

/// <summary>
/// 设置查询字段,通过“,”分割
/// </summary>
[Description("设置查询字段,通过“,”分割")]
public string QueryFieldsString
{
get
{
string strValue = "";
if (queryFields != null)
{
for (int i = 0; i < queryFields.Length; i++)
{
if (strValue == "")
strValue = queryFields[i];
else
strValue += "," + queryFields[i];
}
}
return strValue;
}
set
{
queryFields = value.Split(',');
}
}

/// <summary>
/// 获取或设置查询字段
/// </summary>
private string[] queryFields;
[Description("获取或设置查询字段")]
public string[] QueryFields
{
get
{
return queryFields;
}
set
{
queryFields = value;
}
}

/// <summary>
/// 选择卡记录过滤方式
/// </summary>
public MatchModes SelectCardFilterType
{
get
{
return selectCardFilterType;
}
set
{
selectCardFilterType = value;
}
}

/// <summary>
/// 获取或设置选项卡要绑定到的列的索引
/// </summary>
public int BindColumnIndex
{
get
{
return bindColumnIndex;
}
set
{
bindColumnIndex = value;
}
}

public DataRow[] FilterResult
{
get
{
return filterResult;
}
set
{
filterResult = value;
}
}

private bool _isPage=true;
[Description("设置是否内部分页,IsPage=false时结合PagerEventHandler事件使用")]
public bool IsPage
{
get { return _isPage; }
set { _isPage = value; }
}

private int _pageTotalRecord;
/// <summary>
/// 总记录数 IsPage=false时才使用
/// </summary>
public int PageTotalRecord
{
get { return _pageTotalRecord; }
set { _pageTotalRecord = value; }
}

private string _memo;
[Description("选项卡数据源说明")]
public string Memo
{
get { return _memo; }
set { _memo = value; }
}

}

/// <summary>
/// 网格数字键盘
/// </summary>
public class DataGridViewSelectionNumericKeyBoard
{

private int bindColumnIndex;

public DataGridViewSelectionNumericKeyBoard()
{

}


/// <summary>
/// 获取或设置选项卡要绑定到的列的索引
/// </summary>
public int BindColumnIndex
{
get
{
return bindColumnIndex;
}
set
{
bindColumnIndex = value;
}
}


private string _memo;
[Description("选项卡数据源说明")]
public string Memo
{
get { return _memo; }
set { _memo = value; }
}

}
#endregion
}

转载于:https://www.cnblogs.com/HelloWenYuan/p/5693504.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值