国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net GridView 中增加記錄的步驟

2024-07-10 12:53:25
字體:
來源:轉載
供稿:網友

大多數人建議使用FormView添加記錄,但FormView和GridView不是同一個表,因此它們不能顯示在同一頁的同一個表中,那么asp.net GridView 中增加記錄的步驟大家了解嗎?下面就讓錯新技術頻道小編帶你來了解吧!
通過實踐,想出了一種辦法,主要步驟如下所示:
1) 在 GridView 的 EmptyDataView 中,放置一個普通的Html Table,以便在GridView綁定的數據源中無數據時依舊顯示表頭(如果數據源為返回的數據行數為0,GridView默認是不顯示表頭的),假設 ID 為 tbHeader,它的作用是下面用于新增功能的 tbForm 的各列控件提供說明(充當表頭);
2)在 GridView 下面,放置一個普通的 HTML 表格,其列數和 GridView 中定義的列數保持一致,但行數只有一行,然后在此表格的各列中放入用于新增功能的各個控件(如 TextBox等),假設此表格的 ID 為 tbForm
3)在頁面中加入一段客戶端腳本,以便使頁面展示到客戶端時,利用 Javascript 將兩個表格強行合并到一起,這樣就可以將只有一行的 tbForm 合并到 GridView中,因此 GridView 的最下面多出一行,其中有 tbForm 表格中定義的輸入控件和“添加”鏈接(按鈕),主要代碼(JavaScript)如下:
function MergeTable(source,dest)
{
var row;
var cell;
var sourceTb = document.all(source);
var destTb = document.all(dest);
for (var i=0; i{
row = document.createElement("TR");
for (var j=0; j{
cell = document.createElement("TD");
row.appendChild(cell);
//復制對象
for(k=0;kcell.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)
}
}
function ChangeTableLayout()
{
if(document.all('tbHeader') == null)
MergeTable('tbForm','');
else
MergeTable('tbForm','tbHeader');
}
ChangeTableLayout();
如果 GridView 綁定時沒有數據,將不顯示其中定義的各列,而只顯示 EmptyDataView 中的 tbHeader,這時要合并 tbHeader 和 tbForm。如果 GridView 綁定時包含數據,則不會顯示 EmptyDataView(當然也不會顯示其中的 tbHeader),但這時會顯示 GridView 中定義的各個列,因此只需將 GridView 本身和 tbForm 合并即可。 GridView 的客戶端ID可以用GridView.ClientID來獲取。
在服務器端很容易知道 GridView 綁定后是否包含數據,但對于客戶端來說,不容易檢查,一個簡單的作法就是檢查頁面中有沒有 tbHeader 對象(如果有,則說明表格沒有數據,如果無此對象,表示 GridView 中包含數據... 好啰嗦)
4)如果是 AJAX 環境,上述腳本有可能不被執行,可以調用 Sys.Application.load.add ( JavaScriptFunction) 來強制執行腳本,來合并表格,主要代碼如下(C#):
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);
}
以上代碼都是錯新技術頻道小編為大家搜集的asp.net GridView 中增加記錄的步驟,希望對大家的學習有一定的幫助!
(i).cells(j).all.length;k++)>
(i).cells.length;>
;>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贡山| 德惠市| 古丈县| 宣武区| 无锡市| 呼和浩特市| 宾阳县| 莱阳市| 连州市| 山阴县| 张家口市| 崇仁县| 子洲县| 宜兰市| 宁城县| 军事| 阜阳市| 林芝县| 江北区| 株洲县| 广饶县| 瓮安县| 根河市| 兴城市| 鄢陵县| 兰坪| 庄河市| 长泰县| 高要市| 马尔康县| 毕节市| 滨州市| 巢湖市| 达孜县| 崇义县| 卓尼县| 互助| 龙江县| 利津县| 凤城市| 尼勒克县|