2012-03-24 3 views
0

長い文字列値を含む列を含む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; 
         } 
        } 
       } 
      } 
     } 
    } 

答えて

-1

は、それはあなたを助ける、このコードを試してみてください?これにより、編集/表示/挿入モードでレイアウトをカスタマイズすることができます。以下

参照サンプル:

<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> 
+0

-1あなたのコードは、Visual Studio 2010(VB.NETプロジェクト)でコンパイルすることができませんでした。 23のエラーがありました。 – user774411

+0

プロジェクトがVBであるとは言いません。私はC#のコードを与えました。 –

0

TemplateColumnを使用しない理由:

関連する問題