前言:
本文將給大家介紹一下, 在asp.net MVC環境下,如何利用Jquery MiniUI(一個專業WebUI控件庫)來獲取Datagrid中的值,官網沒有涉及到的內容:如何獲取當前行某一列的值?這里配合著console.log()一起來使用,教你如何自己尋找未知的屬性。(最近發現用console.log()來調試js、Jquery相當好用)
程序需求:
需要知道當前選中行的某一列的值,然后選擇性的去顯示內容。
我們來看一下官網的API,看著挺好,但是都不適用。


轉變思路:
一看官網API都沒有,就想直接自己調試吧,憑著對Datagridview控件使用的感悟,打算找到table,然后索引出來行、列,大概是這個樣子:table.rows[i].cells[j].value 恩恩...
實際操作:
1>. 首先載入一個有兩行數據的datagrid,并且還要有如下js代碼:
mini.parse();var grid = mini.get("datagrid1");grid.load();
function click(){
console.log(grid);
}
2>. 編譯運行后,打開我們強大的F12,找到控制臺,類比→google的console。
執行操作后,我們會看到如下內容:


3>. 這個就是grid顯示的內容,如何把里面特定行中的特定列找到呢?在右側向下拖的時候,我發現了columns,這讓我喜出望外,但是展開一看里面的數據才發現,不是我要找的。

4>. 緊接著,我看到了data,展開一看,原來全藏這了!

5>. 于是乎,我回到最初的object,找到data:

6>. 既然找到數據在哪,就得讓它顯示出來,所以在腳本里添加一句:
mini.parse();var grid = mini.get("datagrid1");grid.load();function click(){ console.log(grid);
console.log(grid.data);}
編譯,執行,看效果:

7>. 我們看到這里顯示出來是一個Array數組,看到右邊的顯示,我們知道,0代表第一行數據,1代表第二行數據,所以我們先將第一行數據顯示出來:
mini.parse();var grid = mini.get("datagrid1");grid.load();function click(){ console.log(grid); console.log(grid.data); console.log(grid.data[0]);}
編譯,執行,看效果:

8>. 第一行數據全部顯示出來了,可以看到所有的key、value,這個時候心里多少有點底了,終于看到希望了,但是還要保持淡定,到現在我們迫切的希望來一個點,就可以索引出所有的屬性,只可惜這不是C#,沒有相關的類,然后就嘗試性去補全這個js后面的代碼,手動添加了一個["xmxh"]:
mini.parse();var grid = mini.get("datagrid1");grid.load();function click(){ console.log(grid); console.log(grid.data); console.log(grid.data[0]); console.log(grid.data[0]["xmxh"]);}
編譯、運行、看效果:

9>. 我們看到相應的數據就顯示出來了。我們再結合MiniUI官網API,給出的 獲取行索引號、獲取當前選中行這兩個方法,就可以任何獲取datagrid當前行某一列的值了。

具體實現代碼如下:
mini.parse();var grid = mini.get("datagrid1");grid.load();function click(){ var currentRow = grid.getSelected(); var row = grid.indexOf(currentRow); alert(grid.data[row]["xmxh"]);}
后記:關于MiniUI的使用,現階段用的最多的就是datagrid,官網的API雖說很簡潔(和簡單相對應),但是實際開發起來還是需要自己花時間去琢磨研究的,以上內容均為本人測試所得,如果不妥,請留言討論!
新聞熱點
疑難解答