在DataGrid1_ItemDataBound中写:If DataGrid1.Items(e.Item.ItemIndex).Cells(X).Text.Length > 10 Then    'do sth.......
End If'X为列号!!!(从0开始!!!)你试试!!谢谢!!!

解决方案 »

  1.   

    如果你是将返回的dataset和datagird进行了绑定,不妨在sql语句中利用left函数截取相应字段的固定位数。
      

  2.   

    1.table-layout:fixed
    2.word-wrap:break-word
    3.word-break:break-all
      

  3.   

    我也觉得在SQL中提取时就把数据截取这样比较方便,因为不需要去修改DATAGRID等设置。当然,也可以在DATATABLE时把数据取出截取后再放回去,一样都可以。我的原则就是从数据入手,而不是框架。因为这样最彻底。
      

  4.   

    qiushuiwuhen(秋水无恨)大虾说的那个是什么意思呢,能告诉我吗?
      

  5.   

    在HTML视图下,加入如下代码:<table style="word-wrap:break-word;" width="100%">
    <tr><td>
    <asp:DataGrid id="DataGrid1" runat="server"></asp:DataGrid>
    </td></tr>
    </table>
      

  6.   

    秋水的意思就是用样式来解决,table-layout:fix后,每列的宽度绝对不可能变,效果最好,但其他列也就被定死了。word-wrap, word-break这两个属性很多时候也不可靠。我推荐另一种做法,就是把你要显示的东西放到textbox中去,textbox的宽度定下来后绝对不会变,为了显示与普通text一样,去掉样式中的立体边框即可,而且这样做还有另一个好处,就是超出宽度的内容可以被SCROLL出来查看
    <asp:textbox style="border:none;" width="xxx" runat=server></asp:textbox>