標籤:blog http io ar java for sp 檔案 div
其實我也不會,老實教人學怕誤人子弟,但是抱著毀人不倦的精神還是糊弄糊弄個別小白吧,最起碼能加點原創。
下面以表單為例,開啟官方項目,版本為FineUI_4.1.1,開啟form_compare頁,右鍵在瀏覽器中查看,右鍵查看源檔案,這次要做的是前台通過按鈕點擊產生form及與背景互動。1.產生一個行form_compare裡有文本行 文字框1 ,源檔案裡搜 文字框1看到了什麼,fieldLable就是‘文字框 1‘,說明產生的lable和後面的input(就是textbox)是一個元素,在 form_compare.aspx裡也是一個元素,那太好辦了,直接拿過來,這裡要注意寫在</form>後面,為啥呢,例子裡都這麼寫的。var f4肯定不能要了,一看源檔案就是f1.f2.f3 一直產生下來的,改;f_state 不知道幹啥的,也沒東西,不管;id,肯定不能重複,先扔掉;fieldLabel 就是前面標題的意思,改成自己喜歡的;lablelWidth字面就是寬度,不管理了;anchor 不知道,不管了;name 先放著;allowBlank 不知道是啥,不管了;成這樣了
F.ready(function () { var row = Ext.create(‘Ext.form.field.Text‘, { f_state: {}, fieldLabel: "自己喜歡的", labelWidth: 180, anchor: "0", name: "SimpleForm1$TextBox1", allowBlank: false }); });
幹有元素不行啊,還加到表單裡,extjs 當然提供了表單的插入方法,開api ,找到form.panel 為啥:
明顯f15就是表單,items就是表單的項,f4在裡面呢。下面就是猜了,好多屬性和方法新增插入的關鍵詞:add,insert,new 挨個搜,不行就全看一邊,恩搜到了寫的太清楚了,昨天已經看到F(‘ID‘)就是擷取元素,那就試試吧
F(‘<% =SimpleForm1.ClientID %>‘).insert(3, row);
位置是我隨便寫的。2.產生一個按鈕恩,我把重設也沾過來了,同樣插入3.給添加按鈕寫方法昨天已經看見了handler就是點擊事件,把新增行的事件寫在方法裡就可以了。
F.ready(function () { var mybutton = Ext.create(‘Ext.button.Button‘, { text: "添加自己喜歡的", cls: "marginr", handler: function () { add(); //重設表單 F(‘SimpleForm1‘).f_reset(); } }); F(‘<% =SimpleForm1.ClientID %>‘).insert(13, mybutton); }); window.row_nub = 0; function add() { row_nub++; var row = Ext.create(‘Ext.form.field.Text‘, { f_state: {}, fieldLabel: "自己喜歡的" + row_nub, labelWidth: 180, anchor: "0", name: "SimpleForm1$TextBox1", allowBlank: false }); F(‘<% =SimpleForm1.ClientID %>‘).insert(3, row); }
OK,完成了,就不貼效果了。恩,還會擴充 text的change回傳及改text的顏色。該回家了不寫了。
ASP.NET-FineUI開發實踐-9(二)