2012-01-06 132 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