DataGrid右键->属性生成器->格式->宽度

解决方案 »

  1.   

    在数据帮定是进行相关的设置
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
       if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==ListItemType.AlternatingItem)
        {
           e.Item.Cells[0].Width = 100;
           e.Item.Cells[1].Width = 100;
           ...
        }
    }
      

  2.   

    微软在这个问题上解决的非常不好,指定列宽后代码这样子:
    <td style="width=150px">....</td>
    不知道为什么不刚才这样子:
    <td width="150px">...</td>
      

  3.   

    谢谢winwang168(无名) ,但是不能改变HeaderText的高度
      

  4.   

    HeaderText的高度和上面相似if ( e.Item.ItemType == ListItemType.Header )
    {
    e.Item.Cells[0].BackColor = Color.Red; //这是背景色
    e.Item.Cells[0].Height = 100; //这是高度
             ...
    }还有很多的属性,你可以自己看看
      

  5.   

    在ItemDataBound事件中写:private void Grid_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
             //隐藏列
             e.Item.Cells[0].Visible=false;
    //宽度
    e.Item.Cells[1].Width=80;
    e.Item.Cells[2].Width=60;
    e.Item.Cells[3].Width=120;
    e.Item.Cells[4].Width=120;
    e.Item.Cells[5].Width=150;
    e.Item.Cells[6].Width=250;
    e.Item.Cells[7].Width=250;
    e.Item.Cells[8].Width=120;
    }
      

  6.   

    谢谢各位,我是按照你们说的那样写的,可是HeaderText照样显示
      

  7.   

    顺便问一下:
    如上ItemDataBound事件中写:
             e.Item.Cells[0].Width=80;
    e.Item.Cells[1].Width=60;
    如果e.Item.Cells[0]中字串长度大于80 好像也不会自动换行。如需换行如何实现!
      

  8.   

    再databind事件中制定宽度和在页面上设置列宽又什么区别啊?
      

  9.   

    这个问题几天前有人问过,
    DataGRid的属性对话框里可以设定每列的宽度.严格定义大小
      

  10.   

    用DataGrid的 HeaderStyle-Width 属性和ItemStyle-Width属性设置