如题

解决方案 »

  1.   

    DataList1.DataSource=DataTable.DefaultView;
      

  2.   

    问了一个人,他这样说:
     可以select 2个 datatable在一个datalist里面 
     通过设置datalist的FK,取得具体的taglist 
    这个怎么做
      

  3.   

    两个datatable结构一样吗?你是不是想实现如下:dt1中有主键字段c1,同时c1又是dt2的外键,显示时根据dt1的记录显示dt2的记录。
    DataSet ds1=new DataSet();ds1.Merge(dt1);
    ds1.Merge(dt2);
      DataColumn Parent=ds1.Tables[0].Columns["c1"];
      DataColumn Parent=ds1.Tables[1].Columns["c1"];ds1.Relations.Add("RelationName",Parent,Child);    ceiproggroup.DataSource=objDataset.Tables[0].DefaultView;
        ceiproggroup.DataBind();
    <asp:repeater ID="ceiproggroup" runat="server">
      <HeaderTemplate>
         <table border="0" width="100%" bgcolor="#ff9933" cellpadding="0" cellspacing="0">
      </HeaderTemplate>
      <ItemTemplate>
                 <tr style="background-color: #ff9933">
                    <td>
       <font size="2"><%# DataBinder.Eval(Container.DataItem,"name") %></font>
                    </td>
    <td align="right">
      <input name="selall1" id="selall_<%#ceiproggroup.Items.Count %>" type="checkbox" onclick="javascript:selectall3(this,'selall_<%#ceiproggroup.Items.Count %>_')">
    </td>
    </tr>
    <tr bgcolor="#ebf8fc">
    <td colspan="2">
       <asp:datalist  runat="server" DataSource='<%# ((DataRowView)Container.DataItem).CreateChildView("RelationName")%>' Width="100%" cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolordark="#FFFFFF" border="1">
          <ItemTemplate>
         <td width="80%">&nbsp;&nbsp;<font size="2" ><%# DataBinder.Eval(Container.DataItem,"chinaname") %></font></td>
     <td width="20%" align="right"><input id="selall_<%#ceiproggroup.Items.Count %>_<%# DataBinder.Eval(Container.DataItem,"id") %>" name="sela" type="checkbox" value="<%# DataBinder.Eval(Container.DataItem,"id") %>" <%# DataBinder.Eval(Container.DataItem,"checked") %>></td>
      </ItemTemplate>
       </asp:datalist>
    </td>
                 </tr>
      </ItemTemplate>
      <FooterTemplate>
         </table>
      </FooterTemplate>
    </asp:repeater>
      

  4.   

    是可以select 2个 datatable在一个dataset里面吧?
    关键是把两个表(不管是单独的datatable还是直接从数据库读出来的)放到一个dataset中,同时用dataset的Relations.Add方法定义主从关系(具体参考MSDN),下面的两个绑定控件写成嵌套的,datagrid、repeater、datalist都可以,绑定时只绑定主控件,而子控件的数据源写成DataSource='<%# ((DataRowView)Container.DataItem).CreateChildView("RelationName")%>'。