C# 将空行插入asp:GridView

C# 将空行插入asp:GridView,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个存储过程,它返回绑定到ASP:GridView的记录集。如果该过程找不到应显示的数据且未返回任何记录,我希望将空行插入ASP GridView,以便访问用于分配行标题标签的行。此网格应具有静态行数,每个行包含BoundFields和TemplateFields。插入这些空行需要什么 <asp:GridView ID="myGrid" runat="server" OnRowDataBound="myGrid_rowBound" AutoGenerateColumns="false"

我有一个存储过程,它返回绑定到ASP:GridView的记录集。如果该过程找不到应显示的数据且未返回任何记录,我希望将空行插入ASP GridView,以便访问用于分配行标题标签的行。此网格应具有静态行数,每个行包含BoundFields和TemplateFields。插入这些空行需要什么

<asp:GridView ID="myGrid" runat="server" OnRowDataBound="myGrid_rowBound" AutoGenerateColumns="false" Width="100%">
      <Columns>
           <asp:TemplateField>
               <ItemTemplate>
                     <asp:Label ID="lblRowHeader" runat="server"</asp:Label>
               </ItemTemplate>
           </asp:TemplateField>
           <asp:BoundField DataField="AsOf" DataFormatString="{0:F1}" />
           <asp:TemplateField>
                <ItemTemplate>
                      <input type="text" ID="txtToHire" />
                      <asp:RegularExpressionValidator ID="rev" runat="server" ControlToValidate="txtToHire" Display="None" />
                </ItemTemplate>
           </asp:TemplateField>
           <asp:BoundField DataField="Current" DataFormatString="{0:F1}" />
           <asp:BoundField DataField="Guideline" DataFormatString="{0:F1}" />
      </Columns>
</asp:GridView>


行没有绑定到GridView的原因不是因为行没有设置正确的列名,而是因为我没有将列添加到DataTable。这是我所缺少的代码:

DataTable newSource = new DataTable();

newSource.Columns.Add("AsOf");
newSource.Columns.Add("Current");
newSource.Columns.Add("Guideline");

// Now programatically add the rows that I needed

如果存储的过程没有返回行,为什么不创建一个带有固定空行集的DataTable、List或其他对象,并将其绑定到网格?如果命名与存储的proc数据集返回的列相同,它应该正常绑定。此外,如果您需要固定数量的行,并且数据源返回的数据少于所需数量的行,则很容易创建空白行添加到数据表(或列表),然后将其绑定。“如果名称相同”。这才是我正在努力解决的真正问题。应该为此设置什么属性?我正在循环并做这个。。。DataRow dr=newSource.NewRow();newSource.Rows.InsertAt(dr,i)@GregVanGorp可能会将您的代码放在后面。我见过这样的情况,顶部或底部都有一个空的编辑行……这就是您需要的吗?你会把这些添加到页脚中。。。
DataTable newSource = new DataTable();

newSource.Columns.Add("AsOf");
newSource.Columns.Add("Current");
newSource.Columns.Add("Guideline");

// Now programatically add the rows that I needed