![](/img/trans.png)
[英]Creating advanced KnockOut binding handler for google.visualization.datatable
[英]Combining google.visualization.datatable with checkbox and KnockOut data-bind
我正在將“普通”HTML表格轉換為Google的DataTable。 主要是因為它會給我固定標題和排序。 感謝為google.visualization.datatable創建高級KnockOut綁定處理程序,我設法為DataTable創建了一個KnockOut綁定處理程序。 這對於只讀數據非常有用 。
現在我想轉換一個在每一行都有一個復選框和一個輸入文本框的表。 創建這些表單元素不是問題,但我在它們上使用KnockOut數據綁定。 如何將這些數據綁定添加到我的數據表中? 我試過這個:
data.setCell(
0, 0, "<input type='checkbox' data-bind=checked: ' " + order.inOrder + "'/>"
);
和
data.setCell(
0, 0, "<input type='checkbox' data-bind=checked: order.inOrder />"
);
但兩者都不起作用。 當然我嘗試使用谷歌找到答案,但到目前為止還沒有運氣。
編輯:更多背景信息:我們有一個相當復雜的頁面,它使用AJAX從服務器獲取一些數據並填充表格。 我們也使用RequireJS,雖然Google.Visualization部分在RequireJS之外,因為我無法將其集成;)
該頁面是訂單系統向導的一部分,復選框是“不訂購”,輸入框用於填寫庫存。 該表是:
checkbox|Product name|amount|input box for stock|amount minus stock|price
“下一步”按鈕需要保存整個表格,包括復選框和庫存的(更新)值。
不要認為數據綁定適用於Google圖表
即使它會,也看不到多少好處,因為無論如何你需要手動加載DataTable
因此,只需在加載DataTable時提供所需的值,
就像是...
data.setCell(0, 0, "<input type='checkbox' " + ((order.inOrder === true) ? "checked" : "") + "/>");
其他想法...
如果表格圖表使用分頁按鈕,則只渲染當前頁面的行,因此必須以某種方式在每個'page'
事件上進行綁定
使用表格圖表中的復選框輸入將導致'select'
事件在單擊表格行時觸發
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.