Динамически установить свойства контролов в gridview - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть сетка, в которой есть текстовое поле в шаблоне элемента.Я хочу установить свойство maxlength этого текстового поля динамически.

Код, который у меня сейчас есть, -

<asp:GridView ID="grd" runat="server" EnableViewState="true" AutoGenerateColumns="false"
                    OnRowDataBound="grd_RowDataBound" >
                    <Columns>                        
                        <asp:TemplateField HeaderText="Textbox">
                            <ItemTemplate>
                                <asp:TextBox ID="txtValue" Text="" runat="server" TextMode="MultiLine" Columns="8" Rows="3"></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

Мой код в обработчике событий RowDataBound -

protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
        {            
                if (e.Row.RowType == DataControlRowType.DataRow)  
                {                    
                    TextBox txtText = (TextBox)e.Row.FindControl("txtValue");  

                    txtText.Text = "test";  //this works fine

                    txtText.MaxLength = 10;    //this does not work. 
                }         
        }

Кто-нибудь знает, почему я не могу установить свойство MaxLength динамически?И как я могу динамически установить значение свойства элемента управления в gridview?

1 Ответ

1 голос
/ 27 сентября 2011

Многострочное текстовое поле не может иметь MaxLength. Хотя вы не получите никакой ошибки, но она не будет работать.

Вы можете попробовать изменить TextMode текстового поля на SingleLine, чтобы посмотреть, будет ли оно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...