当前位置:编程学习 > C#/ASP.NET >>

ASP.NET中竖着的列可不可以合并单元格?

ASP.NET中竖着的列可不可以合并单元格? --------------------编程问答-------------------- 什么意思?表格? --------------------编程问答-------------------- 你可以把合并的列从数据库查询出来的时候就合并 --------------------编程问答-------------------- 例如对于GridView,假设第3行第2列要合并4行,你可以写:

myGridView.Rows[2].Cells[1].RowSpan=4;
for(int i=2+1;i<2+4;i++)
{
  myGridView.Rows[i].Cells.RemoveAt(1);
}

回答这个问题,其实我一点也不高兴。这本来是基本的html知识,只要你研究GridView.Rows,就可以发现它是TableRow集合,剩下的就是根据html的tr、td的属性自己去寻找或者补充属性就可以了。如果你不会html,那么asp.net控件会更难。 --------------------编程问答-------------------- table还是什么??table的话横竖都一样 --------------------编程问答-------------------- 品一品我的话,我的意思是“table还是什么”本应该是程序员自己去看GridView的html输出、研究它的属性对象树的定义来发现的。如果我们总是在回答“是什么”的问题,那么csdn就太浅了,我希望有一天有很多“如何做”的问题出现。当然不是那种连“是什么”都不知道的情况下胡乱问的“如何做”的问题,而是在概念清晰时真的像捅破窗户纸一样比较容易回答的问题。

“table的话横竖都一样”这一句我不懂是什么意思。有“如何做”方面的成竹在胸,还是随便说说? --------------------编程问答-------------------- up
--------------------编程问答-------------------- \v --------------------编程问答-------------------- 同意sp1234的意见,搞ASP.net的不能只学会拖控件到页面上 --------------------编程问答-------------------- 了解一下RowSpan在cs中的使用,多看看html中table的显示 --------------------编程问答-------------------- 可以,在圣殿祭祀的asp.net里面有,具体的就是和table的方法一样 --------------------编程问答-------------------- rowspan --------------------编程问答-------------------- <HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
用inner Join可以做到一个表返回纪录,速度要快些。<br/>

select * from 主表 inner Join 从表 on 主表.外键=从表.id<br/>

如果要显示上合并行,可以在客户端合并<br/>

 <TABLE WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1 id="tb">
<TR id="row">
<TD id="td">1</TD>
<TD>a</TD>
<TD>b</TD>
</TR>
<TR>
<TD>1</TD>
<TD>c</TD>
<TD>d</TD>
</TR>
<TR>
<TD>1</TD>
<TD>c</TD>
<TD>d</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
</TABLE>
<SCRIPT LANGUAGE=javascript>
 
 
var Rows=document.getElementById("tb").rows;
var Col=1;//这个是要合并的第几列;
var lastValue;

 for(i=0;i<Rows.length;i++)
 {
lastValue=Rows[i].cells[Col-1].innerHTML;
var same=1;
 
while(lastValue==Rows[i+same].cells[Col-1].innerHTML )
{  
Rows[i+same].removeChild(Rows[i+same].cells[Col-1]);
same+=1;
if((i+same)==Rows.length )
{
break;
}

 
Rows[i].cells[Col-1].rowSpan=same;
i=i+same-1;
 }
</SCRIPT>


</BODY>
</HTML>
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,