2012-03-24 4 views

Antwort

-1

diesen Code Versuchen Sie es wird Ihnen helfen:

private void AdjustDataGridTextBoxWidth(DataGrid GridName, string SubControlType, Unit Width, int RowsCount, TextBoxMode TBMode, FontUnit FontSize) 
    { 
     if (SubControlType == "TextBox") 
     { 
      for (int i = 0; i < GridName.Items.Count; i++) 
      { 
       for (int o = 1; o < GridName.Items[i].Cells.Count; o++) 
       { 
        for (int x = 0; x < GridName.Items[i].Cells[o].Controls.Count; x++) 
        { 
         if (GridName.Items[i].Cells[o].Controls[x].GetType().ToString() == "System.Web.UI.WebControls.TextBox") 
         { 
          TextBox GridTextBox = (TextBox)GridName.Items[i].Cells[o].Controls[x]; 

          GridTextBox.Width = Width; 

          GridTextBox.Rows = RowsCount; 

          GridTextBox.TextMode = TBMode; 

          GridTextBox.Font.Size = FontSize; 
         } 
        } 
       } 
      } 
     } 
    } 
+0

-1 Ihr Code fehlgeschlagen in Visual Studio 2010 (VB.NET-Projekt) zu kompilieren. Es gab 23 Fehler. – user774411

+0

Sie haben nicht erwähnt, dass Ihr Projekt in VB ist. Ich habe den Code für C# angegeben. –

0

Warum nicht ein Template verwenden? Auf diese Weise können Sie Ihr Layout in den Bearbeitungs-/Ansichts-/Einfügemodi anpassen.

Siehe Beispiel unten:

<Columns> 
    <asp:TemplateColumn> 
     <ItemTemplate> 
      <asp:Label ID="lbl1" runat="server" Text='<% Eval("MyValue") %>'></asp:Label> 
     </ItemTemplate> 
     <EditItemTemplate> 
      <asp:TextBox ID="txtEdit" runat="server" Text='<% Bind("MyValue") %>' Width="400px"></asp:TextBox> 
     </EditItemTemplate> 
    </asp:TemplateColumn> 
</Columns> 
Verwandte Themen