您的位置:首页 > 其它

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

2009-03-05 13:04 453 查看
法一:(推荐)

<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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: