private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//找到编辑行
if(e.Item.ItemType==ListItemType.EditItem)
{
//查找每个编辑行中的格子
for(int i = 0;i<e.Item.Cells.Count;i++)
{
//如果编辑格中控件数量大于0的话,也就是每个格子中都含有一个textbox的话
if(e.Item.Cells[i].Controls.Count>0)
{
try
{
//把它们转换成TextBox
TextBox tb = (TextBox)e.Item.Cells[i].Controls[0];
//指定宽度
tb.Width = 70;
}
//一定要有catch,因为有些转换是无效的。
catch
{}
}
}
}
}
在ASP.NET中,当使用DataGrid进行数据编辑时,如何为处于编辑模式的TextBox控件设置宽度?本文提供了一个解决方案。在DataGrid的ItemDataBound事件中,通过检查每一项的ItemType是否为EditItem,然后遍历每个单元格,查找并转换为TextBox,最后设定其宽度为70像素。注意处理可能出现的无效转换异常。
4万+

被折叠的 条评论
为什么被折叠?



