关于datagrid的两个问题.
1.让datagrid的表头居中的代码是什么?
2.如果想生成不规则的报表,即datagrid绑定的数据源不是一条sql语句所能办到的,比如说每一个表格对应一条不同的sql语句结果,这样的报表该如何如何做?
问题点数:100、回复次数:2Top
1 楼saucer(思归)回复于 2003-09-04 01:53:31 得分 100
1. <asp:DataGrid HeaderStyle-HorizontalAlign="Center" ...>
2. don't use DataGrid, create Table/TableRow/TableCell dynamically, or try something like
<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
void Page_Load(object o, EventArgs e)
{
string[] s= {"authors","sales","titles"};
DataGrid1.DataSource = s;
DataGrid1.DataBind();
}
void DataGrid1_ItemBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
e.Item.Cells[0].Text = "Tables";
else if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataGrid dg = GetGrid((string)e.Item.DataItem);
e.Item.Cells[0].Controls.Add(dg);
}
}
DataGrid GetGrid(string sTableName)
{
string connstr = @"pwd=getsmart; UID=smart;Initial Catalog=pubs;Data Source=localhost";
SqlConnection cnn=new SqlConnection(connstr);
SqlDataAdapter da= new SqlDataAdapter("select * from " + sTableName, cnn);
DataTable dt =new DataTable();
da.Fill(dt);
DataGrid dg = new DataGrid();
dg.DataSource = dt.DefaultView;
dg.DataBind();
return dg;
}
</script>
<html>
<head>
</head>
<body>
<form id="form1" runat="server">
<asp:DataGrid id="DataGrid1" runat="server" HeaderStyle-HorizontalAlign="Center" OnItemDataBound="DataGrid1_ItemBound"/>
</form>
</body>
</html>
Top
2 楼hxtfly()回复于 2003-09-04 02:17:36 得分 0
思归大哥出马,我只能在旁边学习了
...Top




