html中即使使用<HeaderStyle Width="220px"></HeaderStyle> 列的宽度也是随数据的宽度使列高
度增加,现在我不想使高度增加有什么好办法吗?

解决方案 »

  1.   

    参考下面的两个帖子100分求教高高手DataGrid显示问题
    http://search.csdn.net/Expert/topic/2169/2169336.xml?temp=.1046259在datagrid 中如何让某列的数据只显示固定的长度?
    http://search.csdn.net/Expert/topic/1190/1190072.xml?temp=.3494226
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=B3F3462D-DC34-41CE-9FEE-6965B2A3D1AD
      

  3.   

    在该字段用个函数
    protected string CutString(string str,int length)
    {
     string newString="";
     if(str!="")
     {
      if(str.Length>length)
      {
       newString=str.Substring(0,length)+"...";
      }
      else
      {
       newString=str;
      }  
     }
     return newString;
    }
      

  4.   

    是的楼上的方法不错,我就是这样解决的。
    前台:
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:LinkButton ID="lnk_ReMark" text='<%# this.GetSubString(DataBinder.Eval(Container.DataItem,"ReMark").ToString()) %>' Runat="server">
    </asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateColumn>后台:
    #region GetSubString 用来截取字符串
    /// <summary>
    /// 用来截取字符串
    /// </summary>
    /// <param name="str">所截字符串</param>
    /// <returns>字符串</returns>
    public string GetSubString(string str)
    {
    if(str.Length > 10)
    str = str.Substring(0, 10);
    return str;
    }
    #endregion
      

  5.   

    建议采用conghui(月是故乡明)的解决方法!
      

  6.   

    两个办法.
    1.如果你是用oracle,sqlserver等数据库,则在数据库中写一个函数,此函数专门截取一定长度的字段.这样在数据取出时就是一定的长度了
    2.全部取出来,在加载完毕后,循环datagrid内的该列,取出文字,然后截取一定长度(但在有链接时就有问题)
      

  7.   

    int i
    for (i=0;i<this.DataGrid1.Items .Count ;i++)
    {
      if(this.DataGrid1.Items [i].Cells[x].Text.Length >30)
         this.DataGrid1.Items [i].Cells[x].Text =this.DataGrid1.Items [i].Cell[2].Text.Substring (0,30)+"......";
    }
    x为要截取的列
      

  8.   

    很容易:
    select left(columname,25)+'......' as columname,others from table...