没有数据的GridView不会显示列

时间:2013-06-12 10:01:14

标签: gridview data-binding datatable show gridviewcolumn

我似乎无法让列显示在页面上。我想用列显示gridview,但没有任何数据。我怎样才能做到这一点?

**Presenter.cs**
public DataTable GetAllSelectedColumns(int onderzoekId)
    {
        DataTable dt = new DataTable();
        var onderzoek = OnderzoekModel.GetOnderzoek(onderzoekId);

        foreach (var cn in OnderzoekColumnModel.GetSelectedColumns(onderzoek.OnderzoekId))
        {
            dt.Columns.Add(cn.ColumnName);
        }

        return dt;
    }

**Page.aspx**

<asp:Panel runat="server" ID="pnlContainer" CssClass="onderzoek-data">
                <asp:GridView ID="mainGridViewFixedColumns" runat="server" AutoGenerateColumns="False" ShowHeaderWhenEmpty="True">
                </asp:GridView>
                <asp:GridView ID="mainGridView" runat="server" Font-Size="Small">
                    <HeaderStyle CssClass="GVHeader" />
                    <FooterStyle CssClass="GVFooter" />
                </asp:GridView>
            </asp:Panel>

**Codebehind**
public void DisplayFixedColumns(DataTable data)
    {
        mainGridViewFixedColumns.DataSource = data;
        mainGridViewFixedColumns.DataBind();
    }

2 个答案:

答案 0 :(得分:0)

您应该可以向gridview添加“空”模板,就像添加“编辑”模板一样。 如果没有要显示的数据,将显示“空”模板。

希望这有帮助。

答案 1 :(得分:0)

来自hutchonoid的解决方案成功了。我之前尝试过,但疯狂的现在它可以工作!

我现在有一个填充的gridview和一个非填充的gridview。我将如何动态地在两个标题上获得相同的样式?