在GridView中添加“占位符”行

时间:2012-01-25 15:37:17

标签: c# asp.net visual-web-developer

我想允许用户浏览一组表,首先在一个表中创建一行,然后创建一个以前一行作为键插入的行。

由于后续GridView在输入之前的行之前没有数据,因此不会呈现表格的HTML。

我想添加一个占位符行,以确保GridViews始终只显示一个示例行,表示“尚未添加数据”。

这可能吗?也许是以编程方式添加虚拟行而不是控件的特征?

感谢。

2 个答案:

答案 0 :(得分:2)

使用GridView的EmptyDataTemplate属性:

<asp:gridview id="CustomersGridView" 
    datasourceid="CustomersSqlDataSource" 
    autogeneratecolumns="true"
    runat="server">
    <emptydatarowstyle backcolor="LightBlue"
      forecolor="Red"/>
    <emptydatatemplate>
      <asp:image id="NoDataImage"
        imageurl="~/images/Image.jpg"
        alternatetext="No Image" 
        runat="server"/>
        No Data Found.  
    </emptydatatemplate> 
  </asp:gridview>

答案 1 :(得分:0)

在类似情况下,一个虚拟行为我工作。

            DataRow dr = mDataTable.NewRow();
            dr["KEY"] = "DUMMY";
            mDataTable.Rows.Add(dr);

            DataView pView = new DataView(mDataTable);
            gridView.DataSource = pView;
            gridView.DataBind();

            gridView.Rows[0].CssClass = "Hidden"; //I am not sure about this actually, see the result

如果其他解决方案不起作用,您可以尝试将此作为替代方案。