Cambiar el tamaño del TextBox de edición del DataGrid

2949 vistas

Veamos un pequeño ejemplo:

En la página aspx:



html4strict
  1. <asp:DataGrid id="MiDatagrid" runat="server" AutoGenerateColumns="False">
  2.   <Columns>
  3.       <asp:TemplateColumn HeaderText="Colonne1">
  4.         <ItemTemplate>
  5.             <#Container.DataItem("nombredemicolumna")>
  6.         </ItemTemplate>
  7.         <EditItemTemplate>
  8.             <asp:Textbox runat="server" width="600" maxlength="600"/>
  9.           </EditItemTemplate>
  10.       </asp:TemplateColumn>



en el code behind



csharp
  1. private void MiDatagrid_PreRender(object s, EventArgs e){
  2.   if (MiDatagrid.EditItemIndex != -1)
  3.   {
  4.     TextBox mitextbox;
  5.     mitextbox= (TextBox)(MiDatagrid.Items[MiDatagrid.EditItemIndex].Cells[0].Controls[0]);
  6.     mitextbox.Width = Unit.Parse("4cm");
  7.     // podemos, por supuesto, cambiar otras propiedades ;-)
  8.   }
  9. }