GridView实现用“...”代替超长字符串

本文介绍如何在ASP.NET的GridView中实现文本截断显示的功能。提供了两种方法:一种是在前台通过模板字段结合后台方法截断文本;另一种是在数据绑定后通过循环遍历并修改每行数据的方式实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:

前台gridview代码      

<asp:GridView ID="IncomingList" runat="server"  Width="100%"
                            EmptyDataText="没有符合条件的记录!" AutoGenerateColumns="False"
                             CellSpacing="1" BorderWidth="0px" BackColor="#A8C7CE"
                        onrowdatabound="IncomingList_RowDataBound">
                             <HeaderStyle CssClass="Head" />
                             <RowStyle CssClass="Row" />
                             <AlternatingRowStyle CssClass="aRow" />                            
                            <Columns>
                                <asp:BoundField DataField="orderid" HeaderText="订单号" />                                
                                 <asp:BoundField DataField="incoming" HeaderText="来款金额" />
                                <asp:BoundField DataField="linkname" HeaderText="联系人" />
                                <asp:BoundField DataField="date" HeaderText="来款日期" />
                                                             
                                <asp:TemplateField HeaderText="备注">                                 
                                    <ItemTemplate>
                                        <asp:Literal ID="Literal1" runat="server" Text='<%# SubStr(DataBinder.Eval(Container,   "DataItem.remark").ToString(),20) %> '></asp:Literal>
                                    </ItemTemplate>                                 
                                </asp:TemplateField>
                                                             
                            </Columns>
                            <HeaderStyle BackColor="#DAE9F5" />
                               <EmptyDataRowStyle ForeColor="#C04000" />
                        </asp:GridView>

 

后台代码:

   //截取字符串
    public string SubStr(string sString, int nLeng)
    {
        if (sString.Length <= nLeng)
        {
            return sString;
        }
        string sNewStr = sString.Substring(0, nLeng);
        sNewStr = sNewStr + "...";
        return sNewStr;
    }

 

方法二:数据绑定后过滤每一行即可
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
  DataRowView mydrv;
  string gIntro;
  if (GridView1.PageIndex == 0)
  {
    mydrv = myds.Tables["飞狐工作室"].DefaultView;//表名
    gIntro = Convert.ToString(mydrv["家庭住址"]);//所要处理的字段
    GridView1.Rows.Cells[3].Text = SubStr(gIntro, 2);
  }
  else
  {
    mydrv = myds.Tables["飞狐工作室"].DefaultView[i + (5 * GridView1.PageIndex)];
    gIntro = Convert.ToString(mydrv["家庭住址"]);
    GridView1.Rows.Cells[3].Text = SubStr(gIntro, 2);
  }
}
调用的方法:
public string SubStr(string sString, int nLeng)
{
if (sString.Length <= nLeng)
{
  return sString;
}
string sNewStr = sString.Substring(0, nLeng);
sNewStr = sNewStr + "...";
return sNewStr;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值