调整GridView编辑文本框大小
问题描述:
我正在使用VS2005 C#调整GridView编辑文本框大小
我有一个GridView,我已启用行编辑。
但是,我有一些列将会有更大的输入,如评论列,其中将包含更多的单词。
有没有办法调整文本框的大小?
答
如果你想在宽度和高度控制,以及其他属性,你可以参考你的GridView的RowDataBound事件的文本框,并设置其高度和宽度,以及设定的TextMode来复线:
protected void RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Edit)
{
// Comments
TextBox comments = (TextBox)e.Row.Cells[column_index].Controls[control_index];
comments.TextMode = TextBoxMode.MultiLine;
comments.Height = 100;
comments.Width = 400;
}
}
确保您通过检查RowState或EditIndex来引用编辑行,并适当地设置column_index和control_index。对于绑定列,控制指标通常是0
答
设置ItemStyle-Width
和ControlStyle-Width
,如果要包装文本则使用ItemStyle-Wrap
。
希望这会有所帮助。
答
Brissles的答案是正确的,但DataControlRowState可以有多个国家或运算在一起,所以你可能需要检查编辑状态是这样的:
(e.Row.RowState & DataControlRowState.Edit) != 0
我已经设置我的专栏索引,但是在进行更改后文本框不会调整大小 – gymcode 2012-01-06 09:12:03
您确定您的列/控件索引是否正确? – Brissles 2012-01-06 09:17:35