Table 列用于控制字段绑定、标题、宽度、对齐、排序、筛选、编辑等行为。列对象的 Key 必须与数据源字段名、对象属性名或 AntItem(key,value) 的 key 对应。
AntdUI.Column(key,title):普通列。AntdUI.ColumnCheck(key) / ColumnCheck(key,title):复选框列,可配合 CheckedChanged。AntdUI.ColumnRadio(key,title):单选框列。AntdUI.ColumnSwitch(key,title):开关列。AntdUI.ColumnSelect(key,title):下拉选择列,编辑场景常用。AntdUI.ColumnSort():拖拽排序手柄列。import dotNet.AntdUI;
var cols = AntdUI.ColumnCollection();
var colId = AntdUI.Column("id","ID");
colId.Width = "70";
colId.Fixed = true;
cols.Add(colId);
var colName = AntdUI.Column("name","名称");
colName.Width = "180";
colName.SortOrder = true;
cols.Add(colName);
var colEnabled = AntdUI.ColumnSwitch("enabled","启用");
cols.Add(colEnabled);
grid.Columns = cols;
Key:绑定字段名/属性名。Title:列标题。Visible:是否显示。Align:内容对齐,常用 AntdUI.ColumnAlign.Left/Center/Right。ColAlign:表头对齐。Width / MaxWidth / MinWidth:列宽,通常用字符串,如 "120" 或 "auto"。Fixed:固定列。Ellipsis:超出宽度时省略。LineBreak:内容自动换行。SortOrder / SortMode:启用排序及当前排序模式。ReadOnly / Editable:只读与可编辑。KeyTree:树表格子节点字段名。Filter:筛选配置。DisplayFormat:格式化显示,例如日期列 "yyyy-MM-dd"。SummaryItem:汇总栏配置。Style / ColStyle:单元格与表头样式。上游 C# 示例大量使用 SetFixed()、SetWidth("auto")、SetTree("Sub") 这类链式方法。aardio 也可以调用这些方法:
var col = AntdUI.Column("date","日期");
col.SetDisplayFormat("yyyy-MM-dd");
col.SetWidth("140");
col.SetSortOrder(true);
grid.Columns.Add(col);
常用链式方法:
SetFixed(true):固定列。SetWidth("120") / SetMaxWidth(...) / SetMinWidth(...):列宽。SetAlign(AntdUI.ColumnAlign.Center) / SetColAlign(...):内容与表头对齐。SetReadOnly(true) / SetEditable(false):编辑控制。SetSortOrder(true):启用排序。SetLineBreak(true):自动换行。SetTree("Sub"):树表格列,Sub 为子节点字段。SetDefaultFilter(...):启用默认筛选。SetDisplayFormat("yyyy-MM-dd"):显示格式。ColumnSelect 可用于表格编辑模式下的下拉选择列。SetItems 需要 SelectItem[] 或 IList<SelectItem>;非空 aardio 数组可自动识别并转换为所需的 .NET 数组。
var colHobby = AntdUI.ColumnSelect("hobby","爱好");
colHobby.SetItems([
AntdUI.SelectItem("读书"),
AntdUI.SelectItem("旅游"),
AntdUI.SelectItem("运动")
]);
colHobby.SetAlign(AntdUI.ColumnAlign.Center);
grid.Columns.Add(colHobby);
grid.EditMode = AntdUI.TEditMode.DoubleClick;
ColumnCheck、ColumnRadio、ColumnSwitch 绑定的数据通常是 bool。用户点击后可在 Table 的 CheckedChanged 事件处理。
grid.Columns.Add(AntdUI.ColumnCheck("checked","选择"));
grid.Columns.Add(AntdUI.ColumnSwitch("enabled","启用"));
grid.CheckedChanged = function(sender,e){
// e.Value 改变后的 bool 值
// e.Record 原始行数据
// e.RowIndex / e.ColumnIndex 行列序号
}
树表格的关键是指定树列 KeyTree,通常用 col.SetTree("Sub")。数据对象需要有对应的子节点字段;若从 C# 示例迁移,常见子节点字段名就是 Sub。