GridView表格截取字符串效果的封装方法

此方法针对表格绑定时出现的字符串过长,为了使表格显示好看,进行截取,浮动显示文字为原内容的方法。

此方法主要是针对绑定列,模版列没有考虑

 /// <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;                      
                    }
                }
            }
        }

原文地址:https://www.cnblogs.com/liyuxin/p/2023378.html