【问题标题】:Unable to set Width of Column in GridView ASP.NET (No DataSource for GridView)无法在 GridView ASP.NET 中设置列​​的宽度(GridView 没有数据源)
【发布时间】:2017-06-21 15:33:33
【问题描述】:

运行应用程序时弹出错误。

我正在尝试设置 GridView 第一列的宽度,但我做不到。

此 GridView 的行、列、数据未绑定到任何数据源。

//By Class Statistics

int A1Available = get.countAvailA1();
int A1Alloted = get.countUnavailA1();
int B1Available = get.countAvailB1();
int B1Alloted = get.countUnavailB1();
int B2Available = get.countAvailB2();
int B2Alloted = get.countUnavailB2();
int C1Available = get.countAvailC1();
int C1Alloted = get.countUnavailC1();

DataTable dtClass = new DataTable();
dtClass.Columns.Add("Class");
dtClass.Columns.Add("A1");
dtClass.Columns.Add("B1");
dtClass.Columns.Add("B2");
dtClass.Columns.Add("C1");

DataRow r;
r = dtClass.NewRow();
r["Class"] = "Number of Available Beds";
r["A1"] = A1Available.ToString();
r["B1"] = B1Available.ToString();
r["B2"] = B2Available.ToString();
r["C1"] = C1Available.ToString();
dtClass.Rows.Add(r);

r = dtClass.NewRow();
r["Class"] = "Number of Unavailable Beds";
r["A1"] = A1Alloted.ToString();
r["B1"] = B1Alloted.ToString();
r["B2"] = B2Alloted.ToString();
r["C1"] = C1Alloted.ToString();
dtClass.Rows.Add(r);

bedStats.DataSource = dtClass;
bedStats.DataBind();   
bedStats.Columns[1].HeaderStyle.Width = new Unit(55, UnitType.Percentage);

使用此代码设置宽度。还有其他方法吗?不用担心值,只需设置 Width..

bedStats.Columns[1].HeaderStyle.Width = new Unit(55, UnitType.Percentage);

错误图片

【问题讨论】:

  • 看截图,bedStats.Columns[1] 似乎是问题所在。如果您在此行上设置断点,请在尝试访问第二列 ([1]) 之前检查 bedStats 列。你看到了什么?
  • 我加了一个断点,看autos,请问需要什么? @FredrikLundin

标签: c# asp.net gridview column-width


【解决方案1】:

设置列值仅适用于 TemplateFieldBoundField 列。自动生成的列不属于 GridView 中的列集合。如果要为标题着色,则需要使用 OnRowDataBound 事件。只有这样您才能访问这些列。

protected void bedStats_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
    {
        e.Row.Cells[1].Width = new Unit(55, UnitType.Percentage);
        e.Row.Cells[1].BackColor = Color.Pink;
    }
}

【讨论】:

    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2014-01-19
    • 2020-11-28
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多