我有一个数据网格,其中包含一个包含长字符串值的列。当我编辑它时,出现的文本框非常小。我想增加文本框的长度。
答案 0 :(得分: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>
答案 1 :(得分:-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;
}
}
}
}
}
}