你可以使用模板列来实现。在模板列里面建立表格!如:<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> (<%# 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>
<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>
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> (<%# 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>
设置也简单