如何数据绑定复杂的表格

zcwmxn 2004-06-10 03:39:55
______________________________________________________________________
| | | | 上月计划 | 本月实际发生 | 下月计划 |
| 序号 | 名称 | 单价 |------------------------------------------|
| | | | 数量 | 总价 | 数量 | 总价 | 数量 | 总价|
---------------------------------------------------------------------|
| | | | | | | | | |
|--------------------------------------------------------------------|
| | | | | | | | | |
|____________________________________________________________________|

请问这样的表格式能不能数据绑定,好象数据绑定只能
———————————————————————————————————
| 序号 | 序号 | 单价 | 数量 | 总价 | 数量 | 总价 | 数量 | 总价|
---------------------------------------------------------------------|
| | | | | | | | | |
|--------------------------------------------------------------------|
| | | | | | | | | |
|____________________________________________________________________|

请高手指正
...全文
196 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangwg 2004-06-11
  • 打赏
  • 举报
回复
先将数据放到一个表中,
DataGrid可以用模板列,列中加两个数据绑定空件,标题用两行。
应该是可以实现的。
(格式设置可能比较复杂,换行之类的)
netdragon2 2004-06-11
  • 打赏
  • 举报
回复
我不大会用DataGrid
但是用Datalist的话可以实现第一个表格

代码给你,可以直接使用

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@Import Namespace="System.Data"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="vb" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
DataList1.DataSource = CreateDataSource()
DataList1.DataBind()
End if
End Sub
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow

dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("integer", GetType(integer)))

Dim i As Integer
For i = 0 To 9
dr = dt.NewRow()
dr(0) = "Item " & i.ToString()
dr(1) = i
dt.Rows.Add(dr)
Next i

Dim dv As New DataView(dt)
Return dv
End Function
</script>
<body>
<form runat="server">
<asp:DataList ID="DataList1" runat="server">
<headertemplate>
<table width="700" border="1">
<tr>
<td rowspan="2" align="center">序号</td>
<td rowspan="2" align="center">名称</td>
<td rowspan="2" align="center">单价</td>
<td colspan="2" align="center">上月计划</td>
<td colspan="2" align="center">本月实际发生</td>
<td colspan="2" align="center">下月计划</td>
</tr>
<tr>
<td align="center">数量</td>
<td align="center">总价</td>
<td align="center">数量</td>
<td align="center">总价</td>
<td align="center">数量</td>
<td align="center">总价</td>
</tr>

</headertemplate>
<itemtemplate>

<tr align="center">
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "integer") %></td>
</tr>

</itemtemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>

</form>

</body>
</html>
zcwmxn 2004-06-11
  • 打赏
  • 举报
回复
ztx998(学习ing) 太强了,
fly_miss(新年新气象) , 俺去试验一下
zcwmxn 2004-06-11
  • 打赏
  • 举报
回复
兄弟们都回家放周末了?
fly_miss 2004-06-10
  • 打赏
  • 举报
回复
可以在DataGrid中实现
表头重写就可以了
在ItemDataBound中
if(e.Item.ItemType=ListItem.header)
{
e.Item.Cells[0].text=e.Item.Cells[0].text+"</tr><td>......"
}
ztx998 2004-06-10
  • 打赏
  • 举报
回复
可以这样加的,放在page-load里

string javaScript;
javaScript="<script language='javascript'>";


javaScript+=@"
function addrow()
{
var oRow=document.all(obs).insertRow(0);
var oCell0=oRow.insertCell();
with(oCell0)
{
innerText='';
colSpan='3';
bgColor='#AFE8E0';
}

var oCell1=oRow.insertCell();
with(oCell1)
{
innerText='计划';
colSpan='2';
align='center'
bgColor='#AFE8E0';
}
var oCell2=oRow.insertCell();
with(oCell2)
{
innerText='实际';
colSpan='2';
align='center';
bgColor='#AFE8E0';
}
var oCell3=oRow.insertCell();
with(oCell3)
{
innerText='计划完成百分比';
colSpan='2';
align='center';
bgColor='#AFE8E0';
}
var oCell4=oRow.insertCell();
with(oCell4)
{
innerText='';
colSpan='2';
align='center';
bgColor='#AFE8E0';
}

}
addrow();
";
javaScript=javaScript.Replace("obs","'" + this.DataGrid1.ClientID +"'");
javaScript+="<";
javaScript+=@"/";
javaScript+="script>";

Page.RegisterStartupScript("ss",javaScript);
zcwmxn 2004-06-10
  • 打赏
  • 举报
回复
说具体点,是用DataReader 吗?
wangsaokui 2004-06-10
  • 打赏
  • 举报
回复
asp.net的话用一瓢的吧,感觉是有点象ASP
wangsaokui 2004-06-10
  • 打赏
  • 举报
回复
前两天刚看了C1TrueDataGrid控件可以做这样的表格,如果装了ComponentOne,帮助是
ms-help://C1.Studio/C1.C1TrueDBGrid/C1.C1TrueDBGrid/anonymousstyleinheritance.htm
我有图但传不上来
ComponentOne可以在微软免费下载和注册
bitsbird 2004-06-10
  • 打赏
  • 举报
回复
不需重复绑定的,不要做在绑定控件里,用htmltable即可
zcwmxn 2004-06-10
  • 打赏
  • 举报
回复
同事告诉我用程序一个字段一个字段的对,我怎么觉得他说的思路好象又回到了asp上去了。不知道各位怎么理解
zcwmxn 2004-06-10
  • 打赏
  • 举报
回复
ha ,想对齐可不容易的啊
dayasky 2004-06-10
  • 打赏
  • 举报
回复
分开吧
上面是一个table,里面放些label,你自己用程序给它们值
下面放个datagrid和上面的table对齐,而且不显示head

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧