2012-04-12 88 views
5

我一直试图弄清楚这一整天 - 我有一个FormView与一些文本框和一个GridView与几列。出于某种原因,我FormView不显示,但GridViewFormView不显示

我的.aspx文件如下:

FormView

<asp:FormView ID="frmPurchases" runat="server" DataKeyNames="ID" DataSourceID="dsPurchases" DataMember="DefaultView" Width="100%" SkinID="formSkinPP" > 
    <ItemTemplate> 
     <asp:Label id="lblApproval" runat="server" Text="NOT APPROVED: the guids do not match...."></asp:Label> 
     <br /><br /> 
     <div style="width:800px;padding:0px 0px 10px 0px;"> 
      <div style="float:left;width:400px;"> 
       <div style="float:left;width:100px;">Reference</div>         
       <div style="float:left;"> 
        <asp:TextBox ID="txtReference" CssClass="TextBox" runat="server" Width="237px" ValidationGroup="Group1" Text='<%# Bind("SupplierReference") %>'></asp:TextBox><br /> 
       </div> 
      </div> 


     <div style="width:800px;padding:0px 0px 10px 0px;"> 
      <div style="float:left;width:400px;"> 
       <div style="float:left;width:100px;">Date</div>         
       <div style="float:left;"> 
        <telerik:RadDatePicker DatePopupButton-CssClass="datePopUp" Width="260px" id="radDate" SelectedDate='<%# Bind("Date") %>' DateInput-BorderWidth="1px" DateInput-BorderColor="#7F9DB9" Runat="server" MinDate="2000-01-01">              
         <DateInput runat="server" DateFormat="dd/MM/yyyy" Width="260px" BorderColor="#7F9DB9" BorderWidth="1px" InvalidStyleDuration="100"> 
         </DateInput> 
        </telerik:RadDatePicker> 
       </div> 
      </div> 
     </div> 

     <div style="width:800px;padding:0px 0px 10px 0px;"> 
      <div style="float:left;width:400px;"> 
       <div style="float:left;width:100px;">Type</div>         
       <div style="float:left;"> 
        <asp:TextBox ID="txtType" runat="server" Width="240px" Text='<%# Bind("Type") %>'        
        ValidationGroup="Group1"></asp:TextBox><br /> 
       </div> 
      </div> 
     </div> 

     <div style="width:800px;padding:0px 0px 10px 0px;"> 
      <div style="float:left;width:400px;"> 
       <div style="float:left;width:100px;">PO Number</div>         
       <div style="float:left;"> 
        <asp:TextBox ID="acPONumber" runat="server" Width="240px" Text='<%# Bind("PONumber") %>'></asp:TextBox><br /> 

       </div> 
      </div> 
     </div> 

     <div style="width:800px;padding:0px 0px 10px 0px;"> 
      <div style="float:left;width:400px;"> 
       <div style="float:left;width:100px;"><asp:Label ID="lblEstimatedAmount" runat="server" Text="Estimated Amount"></asp:Label></div>         
       <div style="float:left;"> 
        <asp:TextBox ID="acEstimatedAmount" runat="server" Width="240px" Text='<%# Bind("Rate") %>'></asp:TextBox><br />        
       </div> 
      </div> 
     </div> 
     </div> 
    </ItemTemplate> 
</asp:FormView> 

GridView

<asp:GridView ID="gridSupplierPurchasesDetail" DataSourceID="dsPurchasesDetail" runat="server" AutoGenerateColumns="False" AllowSorting="True" BorderStyle="Solid" BorderColor="#5E5EAE" BorderWidth="1pt" 
CellPadding="5" Font-Names="Helvetica,Arial,Sans-Serif" Font-Size="9pt" DataMember="DefaultView" 
SkinID="gridSkin" EmptyDataText="No Supplier Purchases Added to this Reference" 
EnableTheming="False" Width="755px" ShowFooter="True" FooterStyle-VerticalAlign="Top" RowStyle-VerticalAlign="Top"> 
    <HeaderStyle BackColor="#5E5EAE" ForeColor="White" HorizontalAlign="Left" />      
    <EmptyDataRowStyle VerticalAlign="Top" /> 
    <RowStyle VerticalAlign="Top" /> 
    <FooterStyle VerticalAlign="Top" /> 
    <Columns> 
     <asp:TemplateField HeaderText="Description" SortExpression="Description">          
      <ItemTemplate> 
       <asp:TextBox ID="txtDescription" Width="200px" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox> 

      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="NetAmount" SortExpression="NetAmount">          
      <ItemTemplate> 
       <asp:TextBox ID="txtNetAmount" width="80px" runat="server" Text='<%# Bind("NetAmount") %>'></asp:TextBox> 

      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="VATRates" SortExpression="VATRates">          
      <ItemTemplate> 
       <asp:DropDownList AutoPostBack="true" 
        ID="ddlVATRates" runat="server" 
         Width="80px"></asp:DropDownList> 

      </ItemTemplate>           
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="VATAmount" SortExpression="VATAmount">           
      <ItemTemplate> 
       <asp:TextBox ID="txtVATAmount" width="80px" runat="server" Text='<%# Bind("VATAmount") %>' ReadOnly="true"></asp:TextBox> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="TotalAmount" SortExpression="TotalAmount"> 

      <ItemTemplate> 
       <asp:TextBox ID="txtTotalAmount" width="80px" runat="server" Text='<%# Bind("TotalAmount") %>' ReadOnly="true"></asp:TextBox> 
      </ItemTemplate> 
     </asp:TemplateField> 

     <asp:TemplateField HeaderText="PartNumber" SortExpression="PartNumber">     
      <ItemTemplate> 
       <asp:TextBox ID="txtPartNumber" runat="server" class="PartNumber" Width="100px" Text='<%# Bind("PartNumber") %>' ValidationGroup="Group2"></asp:TextBox> 
      </ItemTemplate> 
     </asp:TemplateField>          
    </Columns> 
</asp:GridView> 

数据源控件:

<asp:ObjectDataSource ID="dsPurchases" runat="server" SelectMethod="GetSupplierPurchasesByID" TypeName="SupplierPurchasesSystem" OldValuesParameterFormatString="original_{0}" > 
    <SelectParameters> 
     <asp:Parameter Name="SupplierPurchasesID" Type="Int32" DefaultValue="13243" /> 
     <asp:Parameter DefaultValue="VNE_DB" Name="DataSource" Type="String" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 
    <asp:ObjectDataSource ID="dsPurchasesDetail" runat="server" SelectMethod="GetSupplierPurchasesDetails" 
     TypeName="SupplierPurchasesSystem" > 
     <SelectParameters> 
      <asp:ControlParameter ControlID="HiddenField1" DefaultValue="" Name="guid" PropertyName="Value" 
       Type="String" /> 
      <asp:Parameter DefaultValue="VNE_DB" Name="DataSource" Type="String" /> 
     </SelectParameters> 
    </asp:ObjectDataSource> 
<asp:HiddenField ID="HiddenField1" runat="server" /> 

任何帮助将不胜感激。

+0

你是绑定formview吗?你粘贴你的代码时粘贴,请编辑它。 – 2012-04-12 14:15:29

+0

是的im bidnig formview – Eoiner 2012-04-12 14:22:31

+0

@AshwiniVerma我修复了代码格式。 – jadarnel27 2012-04-12 14:24:33

回答

9

老实说,FormView不显示的最可能的原因是你没有从数据源中获取任何东西。您可以为您的FormView创建一个EmptyDataTemplate以确保。把这个放在你的</ItemTemplate>后面</asp:FormView>

<EmptyDataTemplate> 
    There is nothing to see here. 
</EmptyDataTemplate> 
+0

你可能是这样的,尽管数据库中的sp返回正确的结果... – Eoiner 2012-04-12 14:27:48

+1

@ user1305412是的,如果EmptyDataTemplate显示,那肯定是因为缺乏数据。 OMG !!! – jadarnel27 2012-04-12 14:31:26

+1

所有的日子都被浪费了,直到我找到答案。 – capdragon 2013-04-29 19:07:05