關鍵字:datagrid 動態模板 ajax
我們使用ajax實現無重新整理介面時,對於datagrid,repeater等列表還是比較麻煩的,經過我的嘗試,找出一種比較合理的方法,可以免除對html的加工處理,隨時獲取到資料列表的html content,並且列**式使用模板,更加容易維護,閱讀
原理是將模板寫入使用者控制項,使用loadtemplate來載入,然後將其賦給datagrid或repeater等控制項,繫結後輸出html到客戶端
.aspx.cs
[ajaxpro.ajaxmethod]
public string getlisthtml(string old)
webusercontrol1.ascx<%@ control language="c#" %>
<%# databinder.eval(((repeateritem)container).dataitem, "foldername")%>
上面就是列表的全部**, js端只需呼叫 類名.getlisthtml 即可快速獲取模板化的列表了。
對應datagrid,可以增加templatecollumn等方法來模板化
webusercontrol1.ascx
webusercontrol1.ascx<%@ control language="c#" %>
<%# databinder.eval(((datagriditem)container).dataitem, "foldername")%>
.aspx.cs 部分**:
datagrid datagrid1 = new datagrid();
itemplate temp = page.loadtemplate("webusercontrol1.ascx");
templatecolumn tc = new templatecolumn();
tc.headertext = "test";
tc.itemtemplate = temp;
datagrid1.columns.add(tc);
datagrid1.autogeneratecolumns = false;
datagrid1.datasource = albums.getfolderlist(1);
datagrid1.datamember = "id";
datagrid1.databind();
全文完
QTableWidget懶載入(動態載入)實現
在qtablewidget中加入一行行的資料,如果資料數量過多,滾動起來就會卡頓,插入資料時也會影響效能,為了解決這個問題,採用懶載入的方式,只在介面上顯示10幾條資料,填滿介面。同時增加而外的豎直滾動條,控制滾動條滑塊的大小,給外界看到的效果就是有隨著資料數量的增加,滾動條減小。滾動滾動條,或者插...
goloader golang動態載入的實現
這裡有以前的一些思路 不過改了好多,具體還是要看 這個動態載入庫是很有意思的專案,它直接重用了golang編譯器的輸出,不需要自己寫編譯器,就能支援所有golang的語言特徵,免費使用編譯器的優化。因為這個庫只進行符號重定位,和提供runtime資訊,所有這些邏輯是很少改動的,這樣使得這個庫相容能力...
Ajax動態滾動載入資料
核心 更新 window scroll function 首先,準備乙個分頁的儲存過程 create procedure proctest pagesize int,pagenumber int as select from select row number over order by useri...