【问题标题】:Gridview does not display网格视图不显示
【发布时间】:2012-05-02 20:50:31
【问题描述】:

我页面上的 gridview 在每一列中都设置了模板字段,以便我可以输入信息并将其保存到我的数据库中。没有直接与 gridview 关联的数据,只是一次添加多行以保存数据的能力。我用空的文本框显示它,它工作正常,所有它都停止了,现在不会显示了。关于正在发生的事情的任何线索。代码如下...

<asp:GridView ID="gvOLIAdj" runat="server" AutoGenerateColumns="False" CssClass="td8"  CellPadding="4" ForeColor="#333333" PageSize="5" ViewStateMode="Enabled">
  <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>
      <asp:TemplateField HeaderText="Approval Date ">
        <EditItemTemplate>
          <asp:Label ID="Label5" runat="server"></asp:Label>              
        </EditItemTemplate>
        <ItemTemplate>
          <asp:TextBox ID="txtAdjAppr" runat="server" CausesValidation="True"></asp:TextBox>
          <asp:MaskedEditExtender ID="txtAdjApprt_MaskedEditExtender" runat="server"   ClearMaskOnLostFocus="False" ClipboardEnabled="False" Mask="99/99/99" TargetControlID="txtAdjAppr" />
        </ItemTemplate>
        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="125px" />
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Total Amount">
        <EditItemTemplate>
          <asp:Label ID="Label2" runat="server"></asp:Label>                                                                            </EditItemTemplate>
        <ItemTemplate>
          <asp:TextBox ID="txtAdjAmt" runat="server" CausesValidation="True"></asp:TextBox>
        </ItemTemplate>
        <ItemStyle HorizontalAlign="Right" VerticalAlign="Middle" Width="225px" />
      </asp:TemplateField>
      <asp:TemplateField HeaderText="Comments">
        <EditItemTemplate>
          <asp:Label ID="Label3" runat="server"></asp:Label>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:TextBox ID="txtCmmts" runat="server" Width="599" CausesValidation="True"></asp:TextBox>
        </ItemTemplate>
        <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
      </asp:TemplateField>
      <asp:TemplateField>
        <EditItemTemplate>
        <asp:Label ID="Label4" runat="server"></asp:Label>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblInitials" runat="server"></asp:Label>
        </ItemTemplate>
        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="35px" />
        </asp:TemplateField>
    </Columns>
  <EditRowStyle BackColor="#999999" />
  <FooterStyle BackColor="#003399" Font-Bold="True" ForeColor="White" />
  <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="White" />
  <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
  <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
  <SortedAscendingCellStyle BackColor="#E9E7E2" />
  <SortedAscendingHeaderStyle BackColor="#506C8C" />
  <SortedDescendingCellStyle BackColor="#FFFDF8" />
  <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

【问题讨论】:

  • 有点奇怪,您的 EditItemTemplate 包含标签,而您的 ItemTemplate 包含 TextBoxes ;)
  • 我猜你必须为任何行设置一些数据源才能显示?或者至少设置某种编辑模式属性?是否在后面的代码中完成了任何排序?你能告诉我们代码背后的代码吗?
  • 所以你是说它运行良好并且没有任何改变它在一夜之间停止工作?! GridView 的 DataSource 是什么,因为您至少需要一个假的 DataSource 和 DataBind 它。
  • gridview 后面没有任何代码,我有一个添加记录按钮,用于获取值并将其放入数据库中,仅此而已。

标签: asp.net html vb.net


【解决方案1】:

潜在原因:

  • 您没有设置为编辑模式,gvOLIAdj.EditIndex = 1;
  • CssClass="td8" 设置为 display:none/visibility:hidden
  • gvOLIAdj.Visible=False 是 正在设置中
  • 您升级了框架,见下文

GridView sets EditIndex property when in previous .NET versions it didn't

【讨论】:

  • 所以我能够使用 gvOLIAdj.datasource = dt gvOLIAdj.databind() 让 gridview 出现,但它显示超过 20 个空白行?如何一次只显示一个,但在到达最后一个编辑框时自动添加另一行?
【解决方案2】:

Gridview 必须绑定到某种数据源,您在设计器中看到的视图只是对 gridview 外观的估计。

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多