2012-05-02 8 views
1

私のページのgridviewは、情報を入力して自分のデータベースに保存できるように、各列にtemplatフィールドが設定されています。データを保存するために一度に複数の行を追加する機能だけが、グリッドビューに直接関係するデータはありません。私はそれが空のテキストボックスで表示されていたし、それはうまく動作していたすべてのそれは停止し、今表示されません。何が起きているかの手掛かり。コードは次の...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> 
+1

ItemTemplateにTextBoxが含まれているにもかかわらず、EditItemTemplateにラベルが含まれていると少し奇妙です; –

+0

表示される行のデータソースを設定する必要がありますか?または少なくともいくつかの種類の編集モードプロパティを設定しますか?そのコードの中で行われていることはありますか?コードの背後にあるコードを表示できますか? – mortb

+0

だからあなたはそれがうまくいっていて、何の変更もなしに一夜働いたと言っているのですか?少なくとも偽のDataSourceとDataBindが必要なので、GridViewのDataSourceとは何ですか? –

答えて

1

考えられる原因:

  • あなたが編集モードに設定されていない、gvOLIAdj.EditIndex = 1;
  • のCssClass表示に設定されている= "TD8":なし/可視性:
  • gvOLIAdj.Visible = Falseの隠されたあなたは、あなたのフレームワークをアップグレードし
  • 設定されている では、下記参照

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

+0

私はgvOLIAdj.datasource = dt gvOLIAdj.databind()を使用して表示するためにgridviewを得ることができましたが、20以上の空白行を表示していましたか?一度に1つしか表示されないようにするには、最後の編集ボックスに当たったときに別の行を自動的に追加するにはどうすればよいですか? – developthestars

0

Gridviewsはsomesortのデータソースにバインドする必要があります。デザイナに表示されるビューは、gridviewの外観を見積もるだけです。

関連する問題