C# 调整GridView编辑文本框大小

C# 调整GridView编辑文本框大小,c#,asp.net,gridview,visual-studio-2005,C#,Asp.net,Gridview,Visual Studio 2005,我正在使用VS2005C# 我有一个GridView并启用了行编辑 然而,我有一些列将有一个更大的输入,比如评论列,它将包含更多的单词 有没有办法调整文本框的大小?设置ItemStyle Width和ControlStyle Width,如果要换行文本,请使用ItemStyle wrap 希望这有帮助。如果您想控制宽度和高度以及其他属性,可以在GridView的RowDataBound事件中引用文本框,设置其高度和宽度,并将TextMode设置为多行: protected void RowDat

我正在使用VS2005C#

我有一个GridView并启用了行编辑

然而,我有一些列将有一个更大的输入,比如评论列,它将包含更多的单词


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

设置
ItemStyle Width
ControlStyle Width
,如果要换行文本,请使用
ItemStyle wrap


希望这有帮助。

如果您想控制宽度和高度以及其他属性,可以在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,确保正在引用编辑行,并适当设置列索引和控件索引。对于BoundFields,控件索引通常为0。

Brissles的回答是正确的,但DataControlRowState可以将多个状态一起进行OR运算,因此您可能需要检查编辑状态,如下所示:

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

我已经设置了我的列索引,但是文本框在进行更改后不会调整大小