GridView自定义列数据格式化问题

来源:百度知道 编辑:UC知道 时间:2024/09/27 08:23:18
<asp:TemplateField>
<HeaderTemplate>
Model
</HeaderTemplate>
<ItemTemplate>
//这里调用后台方法格式化数据model,数据是从数据库里读出来的哦
//model=HT-Z110NT EDC 格式化后HT-Z1...
</ItemTemplate>
</asp:TemplateField>
后台方法:
protected string formatStr(string str)
{
string ab="";
if (str.Length > 5)//n等于想要显示的字符个数
{
ab=str.Substring(5, 5) + "...";
}
return ab;
}
汗,忘了问问题了~~
<ItemTemplate>
//这里的方法怎么写?
怎么让<%#DataBinder.Eval(Container.DataItem,"model")%>格式化?

</ItemTemplate>

<%# formatStr(DataBinder.Eval(Container.DataItem,"model"))%>

完全正确呀
早说嘛!
读出一个实体对象然后对它进行操作,很简单的
格式化在绑定前调下截取字符串的后台方法

绑定的时候调用cs文件里的formatStr方法

我给你个例子,你参考下看看
/// <summary>
/// 截取指定长度的字符串
/// </summary>
/// <param name="strChar">要截断的字符串</param>
/// <param name="intLong">要截取的长度值</param>
public string Left(string strChar, int intLong)
{
string val = strChar;
int lon = intLong;
int len = val.Length;
if (lon < len)
{
val = val.Substring(0, lon) + "...";
}
return val;
}
源里面绑定的例子
<asp:Label ID="Label4" runat="server" Text='<%# Left((string)(DataBinder.Eval(Container.DataItem,"LogText")).ToString(),5)%>'></asp:Label> 这个是取前5位的字符