* UIDataGridView: Demo改为原生用法

This commit is contained in:
Sunny 2023-10-11 22:20:28 +08:00
parent 9be05923be
commit ded733d152
4 changed files with 75 additions and 18 deletions

Binary file not shown.

View File

@ -38,6 +38,10 @@ namespace Sunny.UI.Demo
this.uiDataGridView1 = new Sunny.UI.UIDataGridView();
this.uiPagination1 = new Sunny.UI.UIPagination();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.uiDataGridView1)).BeginInit();
this.SuspendLayout();
//
@ -72,7 +76,13 @@ namespace Sunny.UI.Demo
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.uiDataGridView1.ColumnHeadersHeight = 32;
this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2,
this.Column3,
this.Column4});
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@ -103,7 +113,6 @@ namespace Sunny.UI.Demo
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle5;
this.uiDataGridView1.RowTemplate.Height = 23;
this.uiDataGridView1.ScrollBarHandleWidth = 40;
this.uiDataGridView1.ScrollBarRectColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
this.uiDataGridView1.SelectedIndex = -1;
this.uiDataGridView1.Size = new System.Drawing.Size(800, 351);
@ -131,6 +140,34 @@ namespace Sunny.UI.Demo
this.uiPagination1.TotalCount = 40000;
this.uiPagination1.PageChanged += new Sunny.UI.UIPagination.OnPageChangeEventHandler(this.uiPagination1_PageChanged);
//
// Column1
//
this.Column1.DataPropertyName = "Column1";
this.Column1.HeaderText = "Column1";
this.Column1.Name = "Column1";
this.Column1.Width = 300;
//
// Column2
//
this.Column2.DataPropertyName = "Column2";
this.Column2.HeaderText = "Column2";
this.Column2.Name = "Column2";
this.Column2.Width = 200;
//
// Column3
//
this.Column3.DataPropertyName = "Column3";
this.Column3.HeaderText = "Column3";
this.Column3.Name = "Column3";
this.Column3.Width = 200;
//
// Column4
//
this.Column4.DataPropertyName = "Column4";
this.Column4.HeaderText = "Column4";
this.Column4.Name = "Column4";
this.Column4.Width = 200;
//
// FDataGridView
//
this.AllowShowTitle = true;
@ -154,5 +191,9 @@ namespace Sunny.UI.Demo
private UIPagination uiPagination1;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
private UIDataGridView uiDataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
}
}

View File

@ -1,21 +1,17 @@
using System.Collections.Generic;
using System.Data;
namespace Sunny.UI.Demo
{
public partial class FDataGridView : UIPage
{
List<Data> datas = new List<Data>();
List<Data> dataList = new List<Data>();
DataTable dataTable = new DataTable("DataTable");
public FDataGridView()
{
InitializeComponent();
//SunnyUI封装的加列函数也可以和原生的一样从Columns里面添加列
uiDataGridView1.AddColumn("Column1", "Column1", 100/*占比*/).SetFixedMode(200/*固定宽度*/);
uiDataGridView1.AddColumn("Column2", "Column2");
uiDataGridView1.AddColumn("Column3", "Column3");
uiDataGridView1.AddColumn("Column4", "Column4");
for (int i = 0; i < 3610; i++)
{
Data data = new Data();
@ -23,15 +19,23 @@ namespace Sunny.UI.Demo
data.Column2 = i.Mod(2) == 0 ? "A" : "B";
data.Column3 = "编辑";
data.Column4 = i.Mod(4) == 0;
datas.Add(data);
dataList.Add(data);
}
dataTable.Columns.Add("Column1");
dataTable.Columns.Add("Column2");
dataTable.Columns.Add("Column3");
dataTable.Columns.Add("Column4");
uiDataGridView1.DataSource = dataTable;
//不自动生成列
uiDataGridView1.AutoGenerateColumns = false;
//设置分页控件总数
uiPagination1.TotalCount = datas.Count;
uiPagination1.TotalCount = dataList.Count;
//设置分页控件每页数量
uiPagination1.PageSize = 50;
uiDataGridView1.SelectIndexChange += uiDataGridView1_SelectIndexChange;
//设置统计绑定的表格
@ -73,16 +77,16 @@ namespace Sunny.UI.Demo
//一般通过ORM的分页去取数据来填充
//pageIndex第几页和界面对应从1开始取数据可能要用pageIndex - 1
//count单页数据量也就是PageSize值
List<Data> data = new List<Data>();
for (int i = (pageIndex - 1) * count; i < (pageIndex - 1) * count + count; i++)
dataTable.Rows.Clear();
for (int i = (pageIndex - 1) * count; i < pageIndex * count + count; i++)
{
if (i >= datas.Count) continue;
data.Add(datas[i]);
if (i >= dataList.Count) break;
dataTable.Rows.Add(dataList[i].Column1, dataList[i].Column2, dataList[i].Column3, dataList[i].Column4);
}
uiDataGridView1.DataSource = data;
uiDataGridViewFooter1.Clear();
uiDataGridViewFooter1["Column1"] = "合计:";
uiDataGridViewFooter1["Column1"] = "合计:" + pageIndex;
uiDataGridViewFooter1["Column2"] = "Column2_" + pageIndex;
uiDataGridViewFooter1["Column3"] = "Column3_" + pageIndex;
uiDataGridViewFooter1["Column4"] = "Column4_" + pageIndex;

View File

@ -117,6 +117,18 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>