select column_name from table_name where length(column_name)<=40
union
select left(column_name,40) from table_name where length(column_name)>40

解决方案 »

  1.   

    好像DataGrid属性生成项里面列的格式化字符串可以做到这种方式
    公式:
    iif(len(fieldName)>=40,left(fieldName,40)+"...",fieldName)
      

  2.   

    to wangsaokui(无间道) 
    他告诉我,没有length这个函数。请问怎么回事呢?to masterlijianfei(田螺)
     看不懂呀,具体说说可以吗
      

  3.   

    又有新的问题了。我这样的语句
    select left(news_title,40) from table
    他说我left的第一个参数不能为ntext类型
    我的列news_title是ntext类型
      

  4.   

    一、在SQL中控制
    二、在dataGrid__ItemDataBound事件中修改
      

  5.   

    to xubinhui(寒冰) 
      第一在sql中控制,我已会了。
     在dataGrid_ItemDataBound事件中修改怎么做呢?不明白,望指点
    谢谢
      

  6.   

    想知道 masterlijianfei(田螺)   是怎么做的  
    帮你顶
      

  7.   

    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
            Dim fieldName As String = e.Item.Cells(0).Text
            If Len(e.Item.Cells(0).Text) >= 40 Then
                e.Item.Cells(0).Text = Left(fieldName, 40) + "..."
            End If
        End Sub