MVC easyui datagrid 注意事項

先注意 javascript switch(x) 的問題,不管x是甚麼  如果case 用數字判斷(一般常用)
反正都加 switch(Number(x))
這就是javascript最大問題 變數型態可以亂用 ..等程式一大就會有莫名其妙問題
言規正傳

1.傳資料問題

MVC C#設一個 class Agent { id , name }用 List<Agent> 傳到後台
丟給   easyui  datagrid  只要設
 <table id="tt" class="easyui-datagrid" style="width:100%;height:100%">
  <thead>
            <tr>
                  <th data-options="field:'id'" >編號</th>
                   <th data-options="field:'name'" >名字</th>
             </tr>
   </thead>
  </table>
然後丟給它就好.....但要傳回 MVC時 就要小心
傳回的OBJ = $('#Home_Data1').datagrid("getData").rows;
要加rows 不然傳回去跟 MVC的 class Agent 會對不起來..
2.動態問題
  1. <table id="dg"></table>
  1. $('#dg').datagrid({
  2. url:'datagrid_data.json',
  3. columns:[[
  4. {field:'code',title:'Code',width:100},
  5. {field:'name',title:'Name',width:100},
  6. {field:'price',title:'Price',width:100,align:'right'}
  7. ]]
  8. });
這一段怎麼試 都不成功, 找到官方demo https://www.jeasyui.com/tutorial/datagrid/datagrid6.php 也跑不出來
所以還是乖乖的用
  1. <table class="easyui-datagrid" style="width:400px;height:250px"
  2. data-options="url:'datagrid_data.json',fitColumns:true,singleSelect:true">
  3. <thead>
  4. <tr>
  5. <th data-options="field:'code',width:100">Code</th>
  6. <th data-options="field:'name',width:100">Name</th>
  7. <th data-options="field:'price',width:100,align:'right'">Price</th>
  8. </tr>
  9. </thead>
  10. </table>
但是 寬度 千萬不要在裡面設,會有不預期的效果 有時OK 有時亂跑 不懂....
所以還是用 style 指定
<th data-options="field:'code'" style="width:10%">Code</th>
這樣設 才不亂跑 而且show出的速度 明顯快多了
所以樣式部分還是自己在外部搞,盡量不要交給 easyui處理









留言

熱門文章