dataList 如何在左边显示列名,右面显示数据

那一年的忧伤 2011-09-20 08:11:53
也就是说转90度
姓名: 张三 李四 王五 钱六
学号: 1234 3423 3243 3423
姓别: 男 女 男 女
这样显示。
...全文
106 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
那一年的忧伤 2011-09-21
  • 打赏
  • 举报
回复
五楼正解。
Jdragon 2011-09-20
  • 打赏
  • 举报
回复
学习下
sanjiawan 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
DataList的实现方法,直接拷贝即可运行看效果

HTML code
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script……
[/Quote]
+1
学习了
sanjiawan 2011-09-20
  • 打赏
  • 举报
回复
你可以 通过SQL语句 将列和行进行转换 然后重新绑定到dataList中去
不过这样感觉不是很好吧 如果人员姓名太多 那岂不是要用到水平滚动条 从用户体验上来讲 用户是不习惯的

给你个行列转换的例子 直接在sql server里运行下 就可以得到结果 把转换后的结果集传递到你的程序后台绑定

create table cj --创建表cj
(
ID Int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1
Name Varchar(50),
Subject Varchar(50),
Result Int,
primary key (ID) --定义ID为表cj的主键
);
--Truncate table cj
--Select * from cj
Insert into cj
Select '张三','语文',80 union all
Select '张三','数学',90 union all
Select '张三','物理',85 union all
Select '李四','语文',85 union all
Select '李四','物理',82 union all
Select '李四','英语',90 union all
Select '李四','政治',70 union all
Select '王五','英语',90
--行列转换
Declare @sql varchar(8000)
Set @sql = 'Select Name as 姓名'
Select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']'
from (select distinct Subject from cj) as cj --把所有唯一的科目的名称都列举出来
Select @sql = @sql+' from cj group by name'
Exec (@sql)
孟子E章 2011-09-20
  • 打赏
  • 举报
回复
DataList的实现方法,直接拷贝即可运行看效果
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected System.Data.DataTable CreateMengxianhuiDataSource()
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("id", typeof(System.Int32)));
dt.Columns.Add(new System.Data.DataColumn("姓名", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("学号", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("性别", typeof(System.String)));

System.Random rd = new System.Random();
for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr[0] = i + i;
dr[1] = "孟子E章" + i.ToString();
dr[2] = "00" + (1 + i).ToString();
dr[3] = "男";
dt.Rows.Add(dr);
}
return dt;
}

protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = CreateMengxianhuiDataSource();
DataList1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
window.onload = function () {
d = document.getElementById("<%=DataList1.ClientID %>");
row = d.rows.length;
if (row == 0) {
alert("表格没有数据,无需进行转换。");
return;
}
column = d.rows[0].cells.length;
html = new Array(column);
for (i = 0; i < column; i++) {
html[i] = new Array(row);
}
table = document.createElement("table");
tbody = document.createElement("tbody");
for (i = 0; i < d.rows.length; i++) {
for (j = 0; j < d.rows[i].cells.length; j++) {
html[j][i] = d.rows[i].cells[j].innerHTML;
}
}

for (i = 0; i < html.length; i++) {
tr = document.createElement("tr");
for (j = 0; j < html[i].length; j++) {
td = document.createElement("td");
td.innerHTML = html[i][j];
tr.appendChild(td);
}
tbody.appendChild(tr);
}
table.appendChild(tbody);
table.setAttribute("cellspacing", "0");
table.setAttribute("border", "1");
table.setAttribute("rules", "all");
table.setAttribute("style", "border-collapse:collapse;");
document.getElementById("x").innerHTML = "";
document.getElementById("x").appendChild(table);
}
</script>
</head>
<body>
<form id="form1" runat="server"><div id="x">
<asp:DataList ID="DataList1" runat="server">
<HeaderTemplate>
姓名:</td><td>
学号:
</td>
<td>
性别:
</HeaderTemplate>
<ItemTemplate>
<%#Eval("姓名")%></td>
<td>
<%#Eval("学号")%>
</td>
<td>
<%#Eval("性别")%>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
孟子E章 2011-09-20
  • 打赏
  • 举报
回复
你可以使用行列转换
参见
http://dotnet.aspx.cc/file/Convert-GridView-Row-With-Column.aspx
那一年的忧伤 2011-09-20
  • 打赏
  • 举报
回复
- -,在学东西嘛,。碰到不懂的就要搞清楚撒。
988kook 2011-09-20
  • 打赏
  • 举报
回复
怎么不用repeate
那一年的忧伤 2011-09-20
  • 打赏
  • 举报
回复
顶啊,牛牛们哪里去鸟?

62,041

社区成员

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

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

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

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