|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。字符串 1.这段代码是处置太长字符串的主体;
voidItemDataBound(objectsender,DataGridItemEventArgse)
{
//Getthestringtobedisplayed
stringtitle=GetTheString();
//Returnstheupdatedtextforthespecifiedcolumn
stringnewText=AdjustTextForDisplay(title,1,grid);
//Setthetextincludingthetooltipwhennecessary
e.Item.Cells[1].Text=newText;
}
2.AdjustTextForDisplay(string,int,DataGrid)函数的功效是依据列的宽度,截取太长的字符串;这里必要注重的是DataGrid的Font和Columns[colIndex].ItemStyle.Width属性必须有赋值。假如没有赋值的话,函数将会接纳体系默许的值。如不加处置,函数会出非常。
stringAdjustTextForDisplay(stringtext,intcolIndex,DataGridgrid)
{
//Calculatethedimensionsofthetextwiththecurrentfont
SizeFtextSize=MeasureString(text,grid.Font);
//Comparethesizewiththecolumnswidth
intcolWidth=(int)grid.Columns[colIndex].ItemStyle.Width.Value;
if(textSize.Width>colWidth)
{
//Gettheexceedingpixels
intdelta=(int)(textSize.Width-colWidth);
//Calculatetheaveragewidthofthecharacters(approx)
intavgCharWidth=(int)(textSize.Width/text.Length);
//Calculatethenumberofcharstotrimtostayinthefixedwidth(approx)
intchrToTrim=(int)(delta/avgCharWidth);
//Getthepropersubstring+theellipsis
//Trim2morechars(approx)tomakeroomfortheellipsis
stringrawText=text.Substring(0,text.Length-(chrToTrim+2))+"";
//Formattoaddatooltip
stringfmt="{1}";
returnString.Format(fmt,text,rawText);
}
returntext;
}
那做企业软件是不是最好用J2EE? |
|