日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

為GridView新增記錄的功能_.Net教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:淺析.Net Micro Framework 4.0正式開(kāi)源
從今年開(kāi)始5月份,微軟就已宣布.Net Micro Framework將開(kāi)源,目前這一承諾已兌現(xiàn),現(xiàn)在源碼代碼已經(jīng)可以從官方網(wǎng)站上進(jìn)行下載了。并且.Net Micro Framework部門也已經(jīng)從研究院轉(zhuǎn)移到產(chǎn)品部門中來(lái),.Net Micro Framework正式成為.Net 產(chǎn)品家族中的一員。 下載

   在 ASP.NET 2.0 中,GridView 支持修改/刪除記錄,但卻不支持新增記錄的功能,大多數(shù)人建議用 FormView 來(lái)完成增加記錄的功能,但是 FormView 和 GridView 不是同一個(gè)表格,所以無(wú)法在同一個(gè)頁(yè)面的同一個(gè)表格中顯示。如果故意將 FormView 或自己的一堆于用新增功能的控件使用普通的表格組裝起來(lái),那么會(huì)碰到一個(gè)很麻煩的問(wèn)題,即兩個(gè)表格的列寬如何協(xié)調(diào)一致,大多數(shù)情況下,大家在做表格的時(shí)候,表格中各列的寬度都是自動(dòng)調(diào)整的,所以強(qiáng)行指定寬度在很多情況下并不適用。  
通過(guò)實(shí)踐,想出了一種辦法,主要步驟如下所示:
1) 在 GridView 的 EmptyDataView 中,放置一個(gè)普通的Html Table,以便在無(wú)數(shù)據(jù)時(shí)依舊顯示表頭,假設(shè) ID 為 tbHeader,為下面用于新增功能的 Form 的各個(gè)控件提供說(shuō)明; 

2) 在 GridView 下面,放置一個(gè)普通的 HTML 表格,列數(shù)和 GridView保持一致,只有一行,內(nèi)部放入用于新增功能的各個(gè)控件,假設(shè) ID 為 tbForm 

3) 在客戶端中加入腳本,在頁(yè)面顯示到客戶端時(shí),利用 Javascript 將兩個(gè)表格強(qiáng)行合并到一起,這樣就會(huì)在 GridView 的最下面多出一行,其中有輸入控件和“添加”鏈接(按鈕),主要代碼如下: 

  

function MergeTable(source,dest){    var row;    var cell;    var sourceTb = document.all(source);    var destTb = document.all(dest);    for (var i=0; i<sourceTb.rows.length; i++)    {         row = document.createElement("TR");         for (var j=0; j<sourceTb.rows(i).cells.length; j++)         {             cell = document.createElement("TD");             row.appendChild(cell);            //復(fù)制對(duì)象            for(k=0;k<sourceTb.rows(i).cells(j).all.length;k++)                cell.appendChild(sourceTb.rows(i).cells(j).all.item(k));        }        destTb.tBodies(0).appendChild(row);    }    for (var i=sourceTb.rows.length-1; i>=0; i--)    {        sourceTb.deleteRow(i)    }}    注意:要根據(jù)表格中是否具有數(shù)據(jù)來(lái)合并不同的表格,如果沒(méi)有數(shù)據(jù),要合并 EmptyDataView 中的 Html Table (即 tbHeader)與用于新增的表格(tbForm),如果有數(shù)據(jù),則要合并 GridView 本身(可以用 GridView.ClientID來(lái)獲取其客戶端 ID)和用于新增加的表格(tbForm)。簡(jiǎn)單的做法是檢查頁(yè)面中有沒(méi)有 tbHeader 以確定表格中是否包含數(shù)據(jù),代碼如下所示: 

function ChangeTableLayout() 

     if(document.all(’tbHeader’) == null) 
        MergeTable(’tbForm’,’<%=myGridView.ClientID %>’); 
    else 
        MergeTable(’tbForm’,’tbHeader’); 


    4) 如果是 AJAX 環(huán)境,上述腳本有可能不被執(zhí)行,可以調(diào)用 Sys.Application.load.add ( JavaScriptFunction) 來(lái)強(qiáng)制執(zhí)行腳本,來(lái)合并表格,主要代碼如下: 

scriptmanager myScriptManager = ScriptManager.GetCurrent(Page); 
if (myScriptManager.IsInPartialRenderingMode) 

    Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowFullTable1", "ChangeTableLayout();\n", true); 

else 

    Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowFullTable2", "Sys.Application.load.add (ChangeTableLayout);\n", true); 


    注:上述代碼中的 ChangeTableLayout 為客戶端腳本函數(shù)的名稱,其中調(diào)用第3步驟中的代碼,上述代碼在 Atlas 中通過(guò),在 ASP.NET AJAX Beta 上尚末測(cè)試。 


分享:淺析電子商務(wù)的框架
前些陣子照著《Pro ASP.NET 2.0 E-Commerce in C#2005》書編輯了一個(gè)商務(wù)系統(tǒng)網(wǎng)站,想總結(jié)一下學(xué)習(xí)到的所學(xué)的知識(shí)。 該網(wǎng)站具有一般商務(wù)網(wǎng)站的特征 這里先講講他的框架 數(shù)據(jù)訪問(wèn)層 用的的存儲(chǔ)過(guò)程操作數(shù)據(jù)庫(kù)的存儲(chǔ),有一個(gè)Shop.DataAccess類庫(kù)專門(注意我這

來(lái)源:模板無(wú)憂//所屬分類:.Net教程/更新時(shí)間:2012-06-29
相關(guān).Net教程