2011-04-28 59 views
0

如何在設計模式下將多個表數據綁定到網格視圖。是否有可能在設計時將gridview與多個表數據綁定

這是我設計的

<asp:GridView ID="grdACH" runat="server" AutoGenerateColumns="False" BackColor="White" 
      BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" 
      GridLines="Vertical" Style="left: 121px; position: absolute; top: 133px"> 
      <Columns> 
       <asp:TemplateField> 
        <HeaderTemplate> 
         <asp:CheckBox ID="CheckAll" runat="server" onclick="return check_uncheck (this);" /> 
        </HeaderTemplate> 
        <ItemTemplate> 
         <asp:Label ID="ID" runat="server" Text='<%# DataBinder.Eval (Container.DataItem, "FedTaxID") %>' 
          Visible="false"></asp:Label> 
         <asp:CheckBox ID="checkRec" runat="server" onclick="return check_uncheck (this);" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="FedTaxID" SortExpression="FedTaxID"> 
        <EditItemTemplate> 
         <asp:Label ID="lblFedTaxID" runat="server" Text='<%# Eval("FedTaxID") %>'></asp:Label> 
        </EditItemTemplate> 
        <ItemTemplate> 
         <asp:Label ID="lblFedTaxID1" runat="server" Text='<%# Bind("FedTaxID") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"></asp:BoundField> 
       <asp:BoundField DataField="EntryDescription" HeaderText="CompanyEntryDescription"></asp:BoundField> 
       <asp:BoundField DataField="BankRoutingNumber" HeaderText="RoutingNumber"></asp:BoundField> 
       <asp:BoundField DataField="Amount" HeaderText="Amount"></asp:BoundField> 

這是從另一個表

<asp:TemplateField HeaderText="TaxAuthority" SortExpression="Taxing_Auth_Name"> 
        <EditItemTemplate> 
         <asp:Label ID="lblTaxAuthority" runat="server" Text='<%# Eval("Taxing_Auth_Name") %>'></asp:Label> 
        </EditItemTemplate> 
        <ItemTemplate> 
         <asp:Label ID="lblTaxAuthority" runat="server" Text='<%# Bind("Taxing_Auth_Name") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 


      </Columns> 
      <RowStyle BackColor="#F7F7DE" /> 
      <FooterStyle BackColor="#CCCC99" /> 
      <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> 
      <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> 
      <AlternatingRowStyle BackColor="White" /> 
     </asp:GridView> 

但我得到一個錯誤的DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'Taxing_Auth_Name'.

所以任何一個可以告訴什麼做

我的存儲過程,對於結合

select c.fedtaxid,companyname,'comapany desc',c.entrydescription, 
    c.BankRoutingNumber, 
    g.Amount,g.TaxAuthority from tblcustomer c join (
    select swc.fedtaxid As FedTaxID,sum(amount) Amount, taxing_auth_name TaxAuthority from tbl_employees_swc_grosswagedetails swc where wage_code='GRTT' and taxing_auth_name='FED' and (empid,payperiodnumber,payyear) in (select distinct empid,PayPeriodID,payyear from tblcpyresults cpyr where cpyr.fedtaxid=swc.fedtaxid) group by swc.fedtaxid) g on c.fedtaxid=g.fedtaxid; 
+0

取而代之的是這些。最好在aspx頁面中一次性添加網格中的所有列,然後在後面的代碼中將另一個表中的額外列附加到您提供給數據網格的數據集中。 – 2011-04-28 13:09:53

+2

@Kalyan:通過代碼我寫了這個,但我想知道它是否可能 – Dotnet 2011-04-28 13:11:31

+1

這可能是由於您從代碼調用的列不匹配,您可以發佈你已經寫入綁定的代碼gridview – Vivekh 2011-04-28 13:17:41

回答

0

在你的存儲過程執行你寫了這

taxing_auth_name TaxAuthority 

所以定義與TaxAuthority您的標籤,這將解決這個問題..

像如下

<asp:TemplateField HeaderText="TaxAuthority" SortExpression="TaxAuthority"> 
       <EditItemTemplate> 
        <asp:Label ID="lblTaxAuthority" runat="server" Text='<%# Eval("TaxAuthority") %>'></asp:Label> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="lblTaxAuthority" runat="server" Text='<%# Bind("TaxAuthority") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 
+0

感謝您的指點 – Dotnet 2011-04-28 13:25:29

相關問題