此方法针对表格绑定时出现的字符串过长,为了使表格显示好看,进行截取,浮动显示文字为原内容的方法。
此方法主要是针对绑定列,模版列没有考虑
/// <summary>
/// 截取表格中字符串的显示效果
/// </summary>
/// <param name="orderID">实体键值,例如:表格中显示的单号是询价单号,则传入”询价单号“</param>
/// <param name="obj">表格的ID</param>
/// <param name="grv">表格的行类型,即:e.row</param>
/// <param name="ColumnsName">用户自定义的模版列名称:例如:备注,审核原因等</param>
public void CustomerSubStr(string orderID, GridView obj, GridViewRow grv, string ColumnsName)
{
for (int i = 0; i < obj.Columns.Count; i++)
{
if (obj.Columns[i].HeaderText != orderID && obj.Columns[i].HeaderText != "选择" && obj.Columns[i].HeaderText != "序号" && obj.Columns[i].HeaderText != "" && obj.Columns[i].HeaderText != "修改" && obj.Columns[i].HeaderText != ColumnsName) //确定是绑定列,将表格中模版列排除掉,如果没有过滤,则所有的模版列没有正常显示
{
if (grv.Cells[i].Text.Length <= obj.Columns[i].HeaderText.Length* 2+2) //如果是汉字,一个汉字只占一个字符
{
grv.Cells[i].Text = grv.Cells[i].Text;
grv.Cells[i].ToolTip = grv.Cells[i].Text;
}
else
{
string sNewStr = grv.Cells[i].Text.Substring(0, obj.Columns[i].HeaderText.Length+4);
sNewStr = sNewStr + "...";
grv.Cells[i].ToolTip = grv.Cells[i].Text;
grv.Cells[i].Text = sNewStr;
}
}
}
}