2012-01-06 127 views
2

我正在使用VS2005 C#调整GridView编辑文本框大小

我有一个GridView,我已启用行编辑。

但是,我有一些列将会有更大的输入,如评论列,其中将包含更多的单词。

有没有办法调整文本框的大小?

回答

4

如果你想在宽度高度控制,以及其他属性,你可以参考你的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

+0

我已经设置我的专栏索引,但是在进行更改后文本框不会调整大小 – gymcode 2012-01-06 09:12:03

+0

您确定您的列/控件索引是否正确? – Brissles 2012-01-06 09:17:35

2

设置ItemStyle-WidthControlStyle-Width,如果要包装文本则使用ItemStyle-Wrap

希望这会有所帮助。

0

Brissles的答案是正确的,但DataControlRowState可以有多个国家或运算在一起,所以你可能需要检查编辑状态是这样的:

(e.Row.RowState & DataControlRowState.Edit) != 0