一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

asp.net 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,以便在GridView綁定的數(shù)據(jù)源中無(wú)數(shù)據(jù)時(shí)依舊顯示表頭(如果數(shù)據(jù)源為返回的數(shù)據(jù)行數(shù)為0,GridView默認(rèn)是不顯示表頭的),假設(shè) ID 為 tbHeader,它的作用是下面用于新增功能的 tbForm 的各列控件提供說(shuō)明(充當(dāng)表頭);
2)在 GridView 下面,放置一個(gè)普通的 HTML 表格,其列數(shù)和 GridView 中定義的列數(shù)保持一致,但行數(shù)只有一行,然后在此表格的各列中放入用于新增功能的各個(gè)控件(如 TextBox等),假設(shè)此表格的 ID 為 tbForm
3)在頁(yè)面中加入一段客戶端腳本,以便使頁(yè)面展示到客戶端時(shí),利用 Javascript 將兩個(gè)表格強(qiáng)行合并到一起,這樣就可以將只有一行的 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<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)
}
}
function ChangeTableLayout()
{
if(document.all('tbHeader') == null)
MergeTable('tbForm','');
else
MergeTable('tbForm','tbHeader');
}
ChangeTableLayout();
如果 GridView 綁定時(shí)沒(méi)有數(shù)據(jù),將不顯示其中定義的各列,而只顯示 EmptyDataView 中的 tbHeader,這時(shí)要合并 tbHeader 和 tbForm。如果 GridView 綁定時(shí)包含數(shù)據(jù),則不會(huì)顯示 EmptyDataView(當(dāng)然也不會(huì)顯示其中的 tbHeader),但這時(shí)會(huì)顯示 GridView 中定義的各個(gè)列,因此只需將 GridView 本身和 tbForm 合并即可。 GridView 的客戶端ID可以用GridView.ClientID來(lái)獲取。
服務(wù)器端很容易知道 GridView 綁定后是否包含數(shù)據(jù),但對(duì)于客戶端來(lái)說(shuō),不容易檢查,一個(gè)簡(jiǎn)單的作法就是檢查頁(yè)面中有沒(méi)有 tbHeader 對(duì)象(如果有,則說(shuō)明表格沒(méi)有數(shù)據(jù),如果無(wú)此對(duì)象,表示 GridView 中包含數(shù)據(jù)... 好 主站蜘蛛池模板: 91麻豆精品国产91久久久 | 自啪| 欧美日本综合一区二区三区 | 国产美女在线精品免费观看 | 在线小视频 | 特黄aaaaaa久久片 | 在线免费观看91 | 国产精品久久精品福利网站 | 亚洲人成小说 | 日本美女一区二区 | 看全色黄大色黄女视频 | 国产午夜视频高清 | 国产在线观看精品一区二区三区91 | 男女性色大片免费网站 | 四虎在线播放免费永久视频 | 欧美日韩国产一区二区三区欧 | 最近2018中文字幕免费视频 | 国产视频国产 | 巨臀中文字幕一区二区视频 | 亚洲色图视频在线观看 | 国产成人免费高清激情视频 | 日本网址在线观看 | 四虎国产永久在线精品免费观看 | 狠狠色噜噜狠狠狠狠97不卡 | 皮皮在线精品亚洲 | 国产午夜在线视频 | 99精品在免费线视频 | 激情婷婷六月 | 久久不雅视频 | 麻豆系列| 波多野结衣一区二区三区高清在线 | 操亚洲| 免费视频不卡一区二区三区 | 成人久久免费视频 | 欧美日韩国产一区二区三区不卡 | 婷婷色综合网 | 亚洲一区二区三区四 | 天天综合干 | 国产日韩一区二区 | 黄网站在线观看视频 | 成年人午夜免费视频 |