PropertyGridを使う際、表示する内容が固定されているケースでは、最初にデータを読み込んでしまえば完了だが、値が動的に変わる場合に備えて関数を用意しておく。
今回は「Key & Value」の「Key」は不変で、「Value」が変化する場合を想定する。
- Keyを指定してValueを更新する
function setGridValue(key,v){ for (var i = 0; i < gGridKeyNameMapInfo.length; i++) { if (gGridKeyNameMapInfo[i].name == key) { $(gridMapInfo).datagrid('updateRow', { index: i, row: { name: key, value: v } }); return; } } console.log('Error:Unknown key:'+key+' v:'+v); }
与えられたkeyを検索し、一致したら updateRow() で値を更新する。
上記の関数は、Key名を変数gGridKeyNameMapInfoに格納していることが前提。そのため、事前に以下の処理が必要。(PropertyGridから取り出せそうだが、うまくいかなかったので暫定対応。)
var gGridKeyNameMapInfo = []; $.getJSON('json/grid_rowname_mapinfo.json', function(data){ gGridKeyNameMapInfo = data; });