比如我想将搜索出来的20个title字段均匀地分布在一个4行5列的表格中,如何设置,一般同一行中只能显示同一条记录的不同字段或组合,求救!

解决方案 »

  1.   

    用datalist
    <asp:datalist
    id=dg4
    runat="server"
    BorderWidth="0"
    showheader=false
    cellpadding=0
    cellspacing=0
    showfooter=false
    repeatdirection="horizontal"
    repeatcolumns=3
    width=175 >
    <itemtemplate>
    <table  cellpadding=0 cellspacing=0 border=0  bordercolor=#aaaaaa height=140 width=180>
    <tr align="center" valign="middle"><td background=class1/bg.jpg >
    <a href='<%# databinder.eval(container.dataitem,"bigimage")%>' target=_blank>
    <img src='<%# databinder.eval(container.dataitem,"smallimage")%>'  border=0 width=160 height=120>
    </a>
    </td>
    </table>
    </itemtemplate>
    </asp:datalist>
      

  2.   

    你可以使用模板列来实现。在模板列里面建立表格!如:<asp:DataGrid ID="plane" runat="server" AutoGenerateColumns="False" 
                  BorderColor="Black" BorderWidth="0" GridLines="Both" AllowPaging="false" ShowHeader="false">
        <columns>
        <asp:TemplateColumn>
          <headertemplate>
            <table width="200" height="30" border="0">
          </headertemplate>
          <itemtemplate>
            <tr>
              <td width="400" height="15" align="left">[<%# DataBinder.Eval(Container.DataItem, "group_name")%>]
              <a href='download.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "atc_id") %>' target="_blank"><%# DataBinder.Eval(Container.DataItem, "atc_title") %></a>&nbsp;&nbsp;(<%# DataBinder.Eval(Container.DataItem, "atc_time") %>)</td>
            </tr>
          </itemtemplate>
        </asp:TemplateColumn>
        </columns>
      </asp:DataGrid>
    它的后台代码是:<script language="vb" runat="server">
    Dim sql as String
    Dim myconn as OleDbConnection
    Dim myCmd,newscmd as OleDbCommand
    Dim dtCmd as OleDbDataAdapter
    Dim strConn As StringFunction getdataview(sql as String,strtable as String) as DataView
       Dim myDataAdapter as OleDbDataAdapter
       Dim myDataSet as DataSet
       myConn.open()
       myDataAdapter = new OleDbDataAdapter(sql,myConn)
       myConn.close()
       myDataSet=new DataSet()
       myDataAdapter.Fill(myDataSet,strtable)
       getdataview=new DataView(myDataSet.Tables(strtable))
    End Function'(定义函数对数据库进行操作)Sub Page_Load(Sender As Object,E As EventArgs)
    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("./admin/data.mdb")     
    myConn = New OledbConnection(strConn)
    sql="select  * from class,group1,article where class.class_id=group1.class_id and        group1.group_id=article.group_id and class.class_id=52 Order By atc_time Desc"
      Dim atc_view_1 as DataView=getdataview(sql,"plane")
    plane.DataSource=atc_view_1
    plane.DataBind
       End Sub
    </script>
      

  3.   

    用DataReader读出来进行拼接或者用DataList对象
      

  4.   

    用DataList是最好的了
    设置也简单