MujicaUI

Trading · #174

OrderTable 浅色主题渲染快照
浅色 · 渲染快照
OrderTable 深色主题渲染快照
深色 · 渲染快照

174 OrderTable

委托表。

用途

委托列表:方向、类型、价格、成交进度与状态,按状态筛选;进行中的委托提供撤单。基于 DataTable。

最小示例

var state finance.OrderTableState
rows := []finance.OrderRow{{ID: "o1", Symbol: "MUJC", Side: finance.SideBuy, Price: 99.5, Quantity: 100, Filled: 40, Status: finance.OrderPartial}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if id, ok := finance.OrderTable(c, &state, rows, finance.OrderTableOptions{}).Acted(); ok {
		fmt.Println("cancel", id)
	}
}
ui.Render(view, 400, 300, 1)

参数

字段类型默认值含义
s*OrderTableState必填Filter 为状态筛选,Table 为表格状态。
rows[]OrderRow必填Filled 不得超过 Quantity,否则 panic。
Decimals / QuantityDecimalsint2 / 0小数位。
Versionint0原地修改行时递增。
Status / ErrorDataStatus / stringReady加载与失败状态。
Disabledboolfalse禁用。

状态

全部、进行中、已成交、已关闭四种筛选;部分成交进度条;禁用。

事件

TableActionResult.Acted() 返回要撤销的委托 ID。

键盘操作

筛选分段用方向键切换;表格沿用 DataTable 键盘操作;Tab 到达撤单按钮。

限制

  • 筛选只在数据或条件变化时执行。