private void dg_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Footer://页脚
TableCellCollection tcc = e.Item.Cells;
int nTotalCols = tcc.Count;
for (int i=0; i<nTotalCols-1; i++)
e.Item.Cells.RemoveAt(1); TableCell c = e.Item.Cells[0];
c.ColumnSpan = nTotalCols;
break;
}
}注意c.ColumnSpan = nTotalCols;的用法,
希望对你有帮助

解决方案 »

  1.   

    Table1.CellPadding = 0;Table1.CellSpacing =0;
      

  2.   

    追逐彩虹(先生/小姐) 的意思我明白,你是想让这一单元格cell 跨多行显示,可是我这里
    一共只有两个格子,怎么办呢?
         我尝试过让cell1.Colspan=2;或者更多,但是效果不明显哦
      

  3.   

    Table的
     cellspacing="0" cellpadding="0"
      

  4.   

    <asp:TextBox Runat="server" Width=100% ID="TxtId">
      

  5.   

    这个我也试过了 不过还是不行。
        cellspacing cellpadding应该是设置里面的文本的对齐格式吧,象里面的controls控件 的对齐格式应该无效。我是这么理解的,不知道对不对。
      

  6.   

    我的Table表是在编程的时候动态生成的。不在<asp:*></asp:*>里设置属性
      

  7.   

    你用什么显示?用控件还是向浏览器打印<table>还是用别的什么方法显示?
    或者你发邮件给我[email protected]
      

  8.   

    是控件显示。没有打印功能。我的table 里面现实的行数很多,有一些TableCell里面有内涵控件,有一些没有,只显示一些文字信息。
           有一个问题很有意思,我只要把 两个Cells的位置对换一下
              row1.Cells.Add(cell0);
              row1.Cells.Add(cell1);
    换成
               row1.Cells.Add(cell1);          
               row1.Cells.Add(cell0);
    就可以通过  row1.Cells[0].Width 来控制两个cell的长度了。不过这不是我要的。
    说明一下,我的Cells[0]只显示一小段文本,cells[1]显示的是Label和TextBox控件的混合内容,内容比较多哦