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

来源:互联网 发布:ppt图表数据编辑不了 编辑:程序博客网 时间:2024/04/28 11:57

法一:(推荐)

<asp:TemplateField HeaderText="地址" SortExpression="c_address">

      <HeaderStyle HorizontalAlign="Center"></HeaderStyle>

      <ItemTemplate>

      <%# SubStr(Eval("c_address"),10)%>

      </ItemTemplate>

</asp:TemplateField>

 

    public string SubStr(object caption, int nLeng)

    {

        string sString = caption.ToString().Trim();

 

        if (sString.Length <= nLeng)

        {

            return sString;

        }

        else

        {

            string sNewStr = sString.Substring(0, nLeng);

            sNewStr = sNewStr + "...";

            return sNewStr;

        }

    }

 

法二:

private void BindGrid(string sqlstr)

    {

        SqlDataAdapter myCommand = new SqlDataAdapter(sqlstr, conn);

        DataSet ds = new DataSet();

        myCommand.Fill(ds, "table");

        DataView view = ds.Tables["table"].DefaultView;

        string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];

        view.Sort = sort;

        GridView1.DataSource = view;

        GridView1.DataBind();

 

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

        for (int i = 0; i <= GridView1.Rows.Count - 1; i++)

        {

            DataRowView mydrv;

            string gIntro;

            if (GridView1.PageIndex == 0)

            {

                mydrv = ds.Tables["table"].DefaultView[i]; //一定要和上面一样用dt

                gIntro = Convert.ToString(mydrv["c_address"]); //注:一定要是所要处理的字段!

                GridView1.Rows[i].Cells[4].Text = SubStr(gIntro, 8); //调用SubStr()方法

            }

            else

            {

                mydrv = ds.Tables["table"].DefaultView[i + (20 * GridView1.PageIndex)];

                gIntro = Convert.ToString(mydrv["c_address"]);

                GridView1.Rows[i].Cells[4].Text = SubStr(gIntro, 8);

            }

        }

    }

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

    public string SubStr(string sString, int nLeng)

    {

        if (sString.Length <= nLeng)

        {

            return sString;

        }

        string sNewStr = sString.Substring(0, nLeng);

        sNewStr = sNewStr + "...";

        return sNewStr;

    }