2014-04-14 15:59 | 题主 | ||||||||
|
使用Grid表格組件 如何讓判斷是新增或修改 您好:使用Grid表格組件 影片中, 1.INSERT範例,他讓ajaxInsert 的output 輸出給 window1 然後,點選 menuITem1 跳出視窗新增 資料,window1 clikcO後,才去動做。 2.UPDATE 範例中,他點選menuItem2後,直接跳出WINDOW1視窗,點選確認後,就修改。 這時候,1.的insert功能消失了。 請問該如何 讓window1.clickOK 可以辨別 INSERT,UPDATE,DELETE 再去做不動作? 另外,於Select 範例中,column中設定dataIndex 及 text 皆為FILED1 ... 這2個欄位有何作用? 謝謝! |
2014-04-15 09:34 | #1 | ||||||||
|
建议您结合示例和源码看: 窗口点击确认是依据设置的变量来判断是新增还是修改(在Wb.edit中置win.isNew变量,也可以设置其他变量来标识); column的dataIndex对应列名称(字段),text为标题。 |
2014-04-15 10:17 | #2 | ||||||||
|
您好: 謝謝 想確認一下 1.Wb.edit 中置win.isNew 變量,這是自訂 還是 系統內建的(找不到該變量)。 若是元件間傳遞參數,有限制性嗎? 比如 window1 |--PAnel1 這傳遞 是WINDOWS1.直接用function X(param){ ...} PANEL1 直接呼叫 X('update'); 嗎? 2.dataIndex 對應列名稱(字段) :是指 SQL 的欄位,還是 column這元件的ID名稱? 謝謝! |
2014-04-16 09:33 | #3 | ||||||||
|
isNew是自定义编码,可参阅源码和文档; js的方法或变量在作用域内都是可见(有效)的,如在function内定义的方法或变量在该方法所有函数内都有效;只要是作用域内的方法都可以直接引用,另外你也可以把一方法定义到一全局控件内,如: 具体请参阅JavaScript文档 dataIndex为SQL的字段(栏位),同column的id无关) |
2014-04-16 17:13 | #4 | ||||||||
|
您好: 我參考 Wb.edit(Ext.grid.Panel grid/Ext.window.Window win, [Ext.window.Window win], [String key], [Boolean isText],[String controlIdPrefix]) 故 若是 我目前是 wb.edit(grid1,window1,"FILED1"); 來設定單一KEY Q1.若是2個欄位為KEY,該如何放 Q2.win.isNew变量 是指 wb.edit(grid1,window1,"FILED1","win.isNew"); 加入一個變量嗎? 這傳到WINDOW1後, 我該如何承接 因為 wb.edit 是一個固定的方法,傳資料 過去後就不管了 Q3.我發現wb.edit 開啟視窗後, 他的TITLE 會出現EDIT FILE1值 請問 該如何去抓取 WINDOW1的TITLE? 我試過用 alert(window1.title) ==>undefiled window1.title.getValue();也沒效. 謝謝! |
2014-04-16 17:35 | #5 | ||||||||
|
这些都是基础的JavaScript知识,建议你参考JavaScript手册 |
2014-04-17 10:42 | #6 | ||||||||
|
您好: 不好意思,可否給個提示 若是我新增一個 inNew(),但我該去判斷 Grid 還是哪邊,確認他是 新增/修改/刪除? 不好意思,初學,找不到 入口. 另外,在您 wb.js 中 updateValue : function(grid, vals) { var st = grid.store, fs = st.model.prototype.fields, r = Wb .getSelRec(grid)[0], v; fs.each(function(t) { v = vals[t.name]; if (v !== undefined) r.set(t.name, v); }); r.commit(); return r; }, fs.each(function(t) 這each 是jQuery 嗎 還是 一般JS? 我試過 在一般HTML中 var test = new Array(1, 2, 3, 4, 5, 6); test.each(function(elem){ //console.log(elem * elem); alert(elem); }); 但Uncaught TypeError: undefined is not a function |
2014-04-17 19:52 | #7 | ||||||||
|
each是extjs的一个方法哦 |
2014-04-18 08:51 | #8 | ||||||||
|
您好:請問一下 js :直接使用 jQuery :會要求用 $(). 那 Extjs:不是要求用 Ext. 嗎? 還是可以直接使用? 謝謝 |
2014-04-18 09:41 | #9 | ||||||||
|
您好: 再請教一下 若我的Object架構如圖: 我在 window1.button1的click 中設定 alert(grid1.width); ==>得到200 alert(grid1.tbar); ==>得到 null alert(grid1.store); ==>得到 [object object] 我用grid1.store.name ==>undefined 請問 這要如何取得名稱,乃至將來要如何動態設定 呢? 另外m_demo1.title 要去抓 m_demo1的TITLE但 沒有反應? |
2014-04-18 09:42 | #10 | ||||||||
|
不好意思,如下 |
2014-04-18 14:55 | #11 | ||||||||
|
您好,建议你先阅读一下JavaScript方面的基础知识,有了这些知识之后就会自然明白 |
2014-04-18 16:52 | #12 | ||||||||
|
您好: 謝謝您. 不過可否斗膽請教一下,這是 JS哪一方面的基礎? 我試過 atributes,OBject 等沒效 var x=grid1; for(var item in x) { var value = x[item]+"\n"; Wb.print(value); } 卻出現一堆function()... 還是有其他先進 可以指導一下。 我該如何去抓 grid1內的 tbar,store等 另外,同一個window1,該如何判別目前是 I/U/D ;各位是如何做的? 謝謝! |
2014-04-18 18:48 | #13 | ||||||||
|
这个是js的语法基础。 item in grid1表示遍历grid1的item,grid1有方法和属性 打印出来的当然是function tbar store等的获取可参数extjs文档 grid1.store... 可以设置一个变量来标志增,删,改 |