[問題] ng-grid

看板Ajax作者 (信)時間11年前 (2014/08/26 22:10), 11年前編輯推噓2(203)
留言5則, 1人參與, 最新討論串1/1
小弟剛入職場新鮮人 許多觀念尚模糊 在提問過程中若有錯誤的 還請多多指教 在提問前我先說明一下 撰寫出來的網頁需要支援 IE 8 前端使用 AngularJS 目前在使用 ng-grid 上遇到點問題 原本此功能用 SpreadJS 會容易許多 但是 SpreadJS 的 Combobox 並不支援 IE 8 /*---------------------------*/ 我實作需求的功能是這樣的: 今天我從後端接收到一筆 Excel 欄位資訊的 List 假設 ParentAry[] 含有 ValueAry[](存放 Excel 的 col位置, row位置, value) 及 ErrorAry[](存放 Error 的 col位置, row位置, value) 我要根據有幾筆 ValueAry[] 動態長出欄位 然後顯示其 Value 再依據 ErrorAry[] 內的資訊 標記錯誤的欄位顯示為紅色 並提供 User 直接點選修改、存值 而問題出現在 若我顯示錯誤欄位為紅色,就無法修改值 若我提供修改功能,就無法顯示錯誤欄位紅色 /*------------------------------------*/ 以下是我 code 的大致相關內容 提供顯示錯誤欄位為紅色 我先將 ErrorAry[] 的內容加入對應的 ValueAry[] 方便處理 再處理欄位部分 columnDefs: { field: "ArrayList[]", //ng-grid欄位的field為[object Object] cellTemplate: '<... ng-class="{red: row.getProperty(col.field).error}"> <...>{{row.getProperty(col.field).value}}</..></..>' } 此種方式的 field 含有 value 及 error ...等多種資訊 但是點選欄位改值後,ex: 100 field 欄位的 ArrayList[] 會直接被存為"100"且不會顯示出來 因為原預設是 [object Object] 無法存到下層 ValueAry[] 的 Value --- 但是若要變成能處理存值的問題 columnDefs: { field: "ArrayList[].value", //ng-grid欄位的field為string cellTemplate: '<..="{red:..(col.field).error}">//取不到error值,忽略 <...>{{row.getProperty(col.field)}}</..></..>' } 這樣就能修改值,但就取不到 error 的資訊了 /*-----------------------------------*/ 以上冗長的描述不知道能不能清楚表達我的問題 還請高手神手幫幫我解決衝突 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.33.63 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1409062205.A.8CC.html ※ 編輯: ace119 (123.195.33.63), 08/26/2014 22:12:40

08/27 05:20, , 1F
依照你的思路,覺得你可以在收到data的時候就把value跟
08/27 05:20, 1F

08/27 05:21, , 2F
error兩個list merge起來成為一個你要的array再來處理
08/27 05:21, 2F

08/27 05:25, , 3F
或是red class用一個value底下的undefined值控制,然後
08/27 05:25, 3F

08/27 05:26, , 4F
ctrl裡面讓error去把那個值改成true
08/27 05:26, 4F
感謝你的回覆 我前面的"ErrorAry[] 的內容加入對應的 ValueAry[] 方便處理" 這段就是 將兩個list merge起來成為一個 array 今天又嘗試過很多方式,主要是以field: "ArrayList[].value"這條路走 不過走到最後發現差不多是死路了 看來得朝field: "ArrayList[]" => merge兩個list去拿值的路走 這條路主要就是卡在 User 修改值後會將 Array 直接覆蓋成 string 還請幫我想想 solution 感謝! ※ 編輯: ace119 (123.195.33.63), 08/27/2014 23:52:54

!! 太感謝你了 雖然我後來有解決這問題 但是你的方法比較漂亮 讓我學了不少 我下週上班再去嘗試看看 感謝! ※ 編輯: ace119 (123.195.33.63), 08/30/2014 20:38:25
文章代碼(AID): #1J_9KzZC (Ajax)
文章代碼(AID): #1J_9KzZC (Ajax)