給你個在數據庫存儲過程的代碼:CREATE PROCEDURE articleNew AS select R002_01, CASE WHEN LEN(R002_02) > 20 THEN SUBSTRING(R002_02,1,20) + '...' ELSE R002_02 END R002_02, SUBSTRING(R002_04,1,50)+'......' R002_04 from UT_R002 where R002_05=(select max(R002_05) from UT_R002) GO
我想你可以使用一下两种方法:
1、使用数据库的存储过程,用Length和Replace函数以及一些其他的字符函数就可以实现!
2、使用C#的程序实现,在DataTable中利用循环判断指定行的指定单元的字符的长度,然后判断是否该截取字符。实现思路是这样的,这两种方法我都试过都可以!代码就不帖了!麻烦!
AS
select R002_01,
CASE WHEN LEN(R002_02) > 20 THEN SUBSTRING(R002_02,1,20) + '...' ELSE R002_02 END R002_02,
SUBSTRING(R002_04,1,50)+'......' R002_04
from UT_R002 where R002_05=(select max(R002_05) from UT_R002)
GO
for(int i=0;i<MyDataGrid.Items.Count;i++)
{
if(列长>10)
{
MyDataGrid.Items[i].Cells[3].Text=MyDataGrid.Items[i].Cells[3].Text.Substring(0,10)+".....";
}}