我需要在我的一个网页上设置网格,用于输入预算信息。我打算使用gridview,但如果其他东西能更好地满足我的需求,我愿意接受其他想法。我的网格中需要以下功能:
我在gridview中查找了这个功能,但没有任何运气。关于如何在gridview中执行上述两个项目的任何链接或建议将不胜感激。
注意:我正在使用Visual Studio 2008
答案 0 :(得分:1)
IMO使用ListView自行编码会更好。您可以查看DataBound()和ItemDataBound()事件。 GridView没有内置的功能。
OTOH,Matt Dotson有一个blog post,描述了如何在编辑模式下构建包含所有行的GridView。
答案 1 :(得分:0)
页脚中的总计可以使用在每次数据更改和表单加载时执行的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);
}
}
您可能只想使用ItemTemplates并始终显示可编辑的文本框或其他控件,而不是使用GridView提供的内置编辑功能(EditItemTemplates)。我用过这种技术。您仍然可以利用验证器和核心ASP.NET控件集,但是您必须编写相当多的javascript来管理对总计的更新。
我希望这会有所帮助。祝你好运。