AntdUI Table 支持多种 .NET 数据源。aardio 中最容易稳定使用的是 System.Data.DataTable,它适合从数组、数据库、JSON 等来源整理出规整二维数据后显示。
import win.ui;
import dotNet.AntdUI;
import System.Data;
/*DSG{{*/
var winform = win.form(text="Table 数据绑定";right=720;bottom=420)
winform.add(
host={cls="custom";left=12;top=6;right=351;bottom=408;edge=1;z=1}
)
/*}}*/
var table = AntdUI.Table(winform.host);
// 自定义列标题与字段名。
table.Columns.Add(AntdUI.Column("id","ID"));
table.Columns.Add(AntdUI.Column("name","姓名"));
table.Columns.Add(AntdUI.Column("status","状态"));
var dt = System.Data.DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Columns.Add("status");
for(i=1;3){
var row = dt.NewRow();
row["id"] = tostring(i);
row["name"] = "用户" + i;
row["status"] = i == 1 ? "在线" : "离线";
dt.Rows.Add(row);
}
table.DataSource = dt;
winform.show();
win.loopMessage();
Pagination 只负责分页 UI,不会自动切分 Table 数据。建议在 Pagination.ValueChanged 中重新请求或切片数据,然后重新赋值 table.DataSource。
使用 CellText、CellLink、CellSwitch、CellProgress 等对象作为字段值,可以让 Table 显示更丰富的内容。复杂编辑与事件建议先参考上游 C# 示例,再迁移到 aardio。
DataTable。CellLink、CellTag、CellBadge 等对象。DataTable。BindingList<T>、INotifyPropertyChanged 等 .NET 方案。Pagination 不会自动驱动 Table;分页逻辑必须自己写。DataTable.Rows、Columns 等集合按 .NET 习惯从 0 开始。Column(key,title) 的 key 必须与数据源字段名一致。