private void zcfglist_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
(e.Item.Cells[0].Text.Trim().ToString().Length>20)
e.Item.Cells[0].Text=e.Item.Cells[0].Text.Trim().ToString().Substring(0,18);
}private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.zcfglist.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.zcfglist_ItemDataBound);
}
我想在修改大于20长度的字符串只取前18个...
运行没有提示错误.但是datagrid里的值没有发生任何变化...
{
(e.Item.Cells[0].Text.Trim().ToString().Length>20)
e.Item.Cells[0].Text=e.Item.Cells[0].Text.Trim().ToString().Substring(0,18);
}private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.zcfglist.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.zcfglist_ItemDataBound);
}
我想在修改大于20长度的字符串只取前18个...
运行没有提示错误.但是datagrid里的值没有发生任何变化...
{
if (e.Item.ItemType!=ListItemType.Header)
{
string subject=Convert.ToString(DataBinder.Eval(e.Item.DataItem,"Description"));
if (subject.Length >20)
{
subject=subject.Substring(0,18)+"...";
}
e.Item.Cells[0].Text=subject;
}
}
DataBinder还要引用吗?怎么引用啊?
1,在截取字符的那里设置一些断点,看看变量和流程是否和预期的一样
2,你可以在数据绑定的时候(即DataGrid1_ItemDataBound或者其他的ItemCreated等事件)通过捕获数据对象,直接对对象进行截取,具体取决于你棒定的时候使用什么数据集合了另外正如singlepine(小山)提供的信息
对DataGrid的类型判断也很重要
通常要处理的是ListItemType的Item,AternatingItem两种,所以要加判断