private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.EditItem)
{
if(e.Item.Controls[4].Controls[0].GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
TextBox tb = (TextBox)e.Item.Controls[4].Controls[0];
//tb.ForeColor=Color.Red;
//tb.Width = Unit.Parse("20px");
tb.Width = DataGrid1.Columns[4].HeaderStyle.Width; tb.Text = Server.HtmlDecode(tb.Text);
}
}
}
{
if(e.Item.ItemType == ListItemType.EditItem)
{
if(e.Item.Controls[4].Controls[0].GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
TextBox tb = (TextBox)e.Item.Controls[4].Controls[0];
//tb.ForeColor=Color.Red;
//tb.Width = Unit.Parse("20px");
tb.Width = DataGrid1.Columns[4].HeaderStyle.Width; tb.Text = Server.HtmlDecode(tb.Text);
}
}
}
<asp:TemplateColumn HeaderText="编号">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.编号") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtSerialCode" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.编号") %>' Width="80">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
自己改变Width="80"的值以改变edit后的TextBox的宽度