我正在使用VS2005 C#
我有一个GridView,我启用了行编辑。
但是,我有一些列会有更大的输入,例如 Comments 列,它将包含更多单词。
有没有办法调整文本框大小?
答案 0 :(得分:4)
如果要控制宽度和高度以及其他属性,可以在GridView的RowDataBound事件中引用TextBox并设置其高度和宽度,并将TextMode设置为MultiLine:
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。对于BoundFields,控制索引通常为0。
答案 1 :(得分:2)
设置ItemStyle-Width
和ControlStyle-Width
,如果要包装文本,请使用ItemStyle-Wrap
。
希望这有帮助。
答案 2 :(得分:0)
Brissles的回答是正确的,但DataControlRowState可以将多个状态进行OR运算,因此您可能需要检查编辑状态,如下所示:
(e.Row.RowState & DataControlRowState.Edit) != 0