后台用的access数据库,这个dataset的sql语句是这样的:Select * from Line left outer join Company on Line.CompanyID=Company.CompanyID前台DataGrid用<asp:HyperLinkColumn DataNavigateUrlField="Company.CompanyID">可以得到数据,但是如果我用<asp:TemplateColumn>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"Company.CompanyID")%>
</ItemTemplate>它就说Company.CompanyID不是有效的数据项,我用CompanyID还是无效,请问这里如果想在TemplateColumn中得到这个Company.CompanyID,该怎么办啊? 
谢谢!!

解决方案 »

  1.   

    看改造下sql语句了?
    Select *,company.companyid from Line left outer join Company on Line.CompanyID=Company.CompanyID
      

  2.   

    <ItemTemplate>
                            <asp:Label ID="lab" runat=server Text=Text='<%#DataBinder.Eval(Container.DataItem,"Company.CompanyID") %>'></asp:Label>                    
                        </ItemTemplate>
      

  3.   

    上面错了
    <ItemTemplate>
                            <asp:Label ID="lab" runat=server Text='<%#DataBinder.Eval(Container.DataItem,"Company.CompanyID") %>'></asp:Label>                    
                        </ItemTemplate>
      

  4.   

    断点调试的时候看看你的dataset的结构,就明白了.....
      

  5.   

    <asp:TemplateColumn>
    <ItemTemplate>
    <%#DataBinder.Eval(Container.DataItem,"CompanyID")%>
    </ItemTemplate>
      

  6.   

    建议你多个表查询的时候用as 假名
    Select a.*,b.companyid as bcompanyid from Line a left outer join Company b on a.CompanyID=b.CompanyID
    <ItemTemplate>
    <%#DataBinder.Eval(Container.DataItem,"bcompanyid")%>