【发布时间】:2022-01-15 21:38:19
【问题描述】:
我正在使用带有 C# 的 ASP.NET。我有GridView 并且需要有两个标题。所以我用下面的代码在数据绑定后添加了另外一个header。
gridView.DataSource = dataTable;
gridView.DataBind();
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
TableHeaderCell cell = new TableHeaderCell
{
Text = titleST,
ColumnSpan = 5
};
row.Controls.Add(cell);
row.BackColor = ColorTranslator.FromHtml("#3AC0F2");
row.BorderStyle = BorderStyle.Solid;
row.BorderColor = Color.Black;
row.BorderWidth = Unit.Parse("2");
gridView.HeaderRow.Parent.Controls.AddAt(0, row);
问题是当我尝试从gridView 读取数据时,不知何故第一行没有数据。
这就是我读取数据的方式:
foreach (GridViewRow row in gridView.Rows)
{
int atmpt = ((DropDownList)row.FindControl("ddlAttemptsT")).SelectedIndex;
Int64 selId = Int64.Parse(((HiddenField)row.FindControl("SelId")).Value);
double wt = int.Parse(row.Cells[2].Text);
double grade = double.Parse(((TextBox)row.FindControl("grade")).Text);
}
我在想我在索引 0 处添加了新的标题,它删除了第一行。但在 GUI 中,第一行存在。我试着做AddAt(-1, row) 但这会将它添加到gridView 的底部。
关于如何解决这个问题的任何建议? 请让我知道是否需要进一步澄清我的问题。 谢谢
【问题讨论】:
-
可能希望至少显示一个小代码片段来说明您是如何阅读网格的?
-
@AlbertD.Kallal 我补充说。谢谢
-
应该没问题。必须有更多的标记,也许是一个更新的面板,这里缺少一些细节。到目前为止,您发布的内容没有问题。如前所述,此处缺少更新面板或其他一些细节。我会发布网格的标记 - 如果有任何更新面板等,则包括它 - 以及单击时运行上述代码存根的按钮标记。