我需要在我的一個網頁上有一個網格,用於輸入預算信息。我打算使用gridview,但如果其他想法能更好地滿足我的需求,我願意接受其他想法。我需要以下功能在我的網格:關於gridviews的幾個問題
- 所有的細胞,一旦在編輯模式下在頁面加載
- 需要在底部的頁腳行 計算總計爲特定列
我在gridview中查找了這個功能,但沒有任何運氣。有關如何在gridview中完成上述兩項的任何鏈接或建議,我們將不勝感激。
注:我使用Visual Studio 2008
我需要在我的一個網頁上有一個網格,用於輸入預算信息。我打算使用gridview,但如果其他想法能更好地滿足我的需求,我願意接受其他想法。我需要以下功能在我的網格:關於gridviews的幾個問題
我在gridview中查找了這個功能,但沒有任何運氣。有關如何在gridview中完成上述兩項的任何鏈接或建議,我們將不勝感激。
注:我使用Visual Studio 2008
頁腳中的總數可以通過在每個數據更改和表單加載上執行的JavaScript組合應用,並通過GridView的RowDataBound事件動態添加文本框或標籤到頁腳。例如,
// Create textboxes in footer to hold hours totals
if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.CssClass = "wgv-ft";
for (int i = 0; i < NumHoursTextBoxes; ++i)
{
var tb = new TextBox();
tb.ID = String.Format("Hours{0}TotalTextBox", i);
tb.CssClass = "total";
tb.Enabled = false;
e.Row.Cells[FirstHoursTextBoxIndex + i].Controls.Add(tb);
}
}
而不是使用內置在GridView的報價,你可能只想使用的ItemTemplate並始終顯示爲可編輯的文本框或其他控件編輯功能(EditItemTemplates)。我使用過這種技術。您仍然可以利用驗證器和核心ASP.NET控制集,但是您必須編寫相當多的JavaScript來管理總計的更新。
我希望這會有所幫助。祝你好運。
IMO你會好得多使用ListView編碼這個自己。您可以查看DataBound()和ItemDataBound()事件。 GridView控件不附帶內置的功能。
OTOH,馬特Dotson有blog post描述如何建立一個GridView在編輯模式中的所有行。
好吧,所以如果我使用ListView方法,我只是有一個項目模板,由每個列的文本框組成?訪問這些文本框以將值保存回數據庫有多難? – 2010-03-09 19:57:24