2012-03-24 63 views

回答

-1

试试这个代码,它会帮助你:

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你的代码的失败在Visual Studio 2010(VB.NET项目)进行编译。有23个错误。 – user774411 2012-03-24 16:04:46

+0

你没有提到你的项目是在VB中。我已经给出了C#的代码。 – 2012-03-26 06:17:26

0

为什么不使用TemplateColumn中?这允许您在编辑/查看/插入模式下自定义布局。

参见下面的示例:

<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> 
相关问题