123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- using System;
- using System.Data;
- using DevExpress.XtraGrid;
- using UAS_PLCDataReader.DataOperate;
- using UAS_PLCDataReader.Entity;
- namespace UAS_PLCDataReader.CustomerControl.AutoDataGridControl
- {
- public partial class AutoDataGridControl : GridControl
- {
- string getDataSQL;
- string condition;
- //记录初始化的SQL,防止条件重复拼接
- string firstsql;
- public delegate void OnDataRefresh(object sender, EventArgs e);
- public event OnDataRefresh DataRefresh;
- DataHelper dh = SystemInf.dh;
- //获取数据的SQL
- public string GetDataSQL
- {
- get
- {
- return getDataSQL;
- }
- set
- {
- getDataSQL = value;
- firstsql = value;
- }
- }
- //获取数据的总行数
- public int RowCount
- {
- get
- {
- return rowCount;
- }
- set
- {
- rowCount = value;
- }
- }
- public string TableName
- {
- get
- {
- return tableName;
- }
- set
- {
- tableName = value;
- }
- }
- public string ID
- {
- get
- {
- return id;
- }
- set
- {
- id = value;
- }
- }
- public string InsertSQL
- {
- get
- {
- return insertSQL;
- }
- set
- {
- insertSQL = value;
- }
- }
- public string Condition
- {
- get
- {
- return condition;
- }
- set
- {
- condition = value;
- }
- }
- private string insertSQL;
- //用于保存数据的主表的名称
- private string tableName;
- private string id;
- private int rowCount;
- public AutoDataGridControl()
- {
- InitializeComponent();
- }
- private void AutoDataGridControl_VisibleChanged(object sender, EventArgs e)
- {
- RefreshData();
- }
- public void RefreshData()
- {
- if (getDataSQL != null)
- {
- if (condition != null)
- {
- getDataSQL = getDataSQL + " " + condition;
- }
- DataTable dt = (DataTable)dh.ExecuteSql(getDataSQL, "select");
- rowCount = dt.Rows.Count;
- DataSource = dt;
- getDataSQL = firstsql;
- //调用列自适应,自动调整最合适列宽
- (MainView as GridViewWithSerialNum.GridViewWithSerialNum).BestFitColumns();
- }
- DataRefresh?.Invoke(new object(), new EventArgs());
- }
- }
- }
|