这是DataGrid的一列
<asp:TemplateColumn HeaderText="备注">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "备注") %>' ID="lbl_Re" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat="server" ID="tbx_Re" Text='<%# DataBinder.Eval(Container.DataItem, "备注")%>'/>
</EditItemTemplate>
</asp:TemplateColumn>这个列在非编辑状态的时候可以控制asp:Label的Width属性来控制列的宽度, 一旦编辑的时候,列宽度就改变了; 编辑的时候, 控制asp:TextBox的width属性只是控制编辑框的宽度, 并没有控制列的宽度;修改headerStyle的width属性即不能控制非编辑状态的列宽度, 也不能控制编辑状态的列宽度.请问怎样才可以控制编辑状态和非编辑状态下的列宽度呢?
<asp:TemplateColumn HeaderText="备注">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "备注") %>' ID="lbl_Re" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat="server" ID="tbx_Re" Text='<%# DataBinder.Eval(Container.DataItem, "备注")%>'/>
</EditItemTemplate>
</asp:TemplateColumn>这个列在非编辑状态的时候可以控制asp:Label的Width属性来控制列的宽度, 一旦编辑的时候,列宽度就改变了; 编辑的时候, 控制asp:TextBox的width属性只是控制编辑框的宽度, 并没有控制列的宽度;修改headerStyle的width属性即不能控制非编辑状态的列宽度, 也不能控制编辑状态的列宽度.请问怎样才可以控制编辑状态和非编辑状态下的列宽度呢?
{
ListItemType li=e.Item.ItemType;
if(li==ListItemType.EditItem)
{
TextBox txtzhuangtai=(TextBox)e.Item.Cells[2].Controls[0];
txtzhuangtai.Width=Unit.Pixel(50);
TextBox txtfumian=(TextBox)e.Item.Cells[3].Controls[0];
txtfumian.Width=Unit.Pixel(50);
} }
另外不是很明白你的代码和datacolumn有什么关系
<EditItemStyle Width ="50px" ></EditItemStyle>
应该放在那个html标签之下呢?
<asp:DataGrid>、<asp:TemplateColumn>还是<EditItemTemplate>
呢?
就能直接设置了