Datagrid控件在编辑状态下如何控制控件的大小??请进来看看 DataGrid控件可以添加"编辑"按钮,响应EditCommand事件,当处于编辑状态时,非只读列会出现TextBox控件,让用户更改其中的内容,没错吧,但是这个TextBox控件也太长了吧,如何控制它的大小阿?这样太长了会影像美观的?呵呵,望高手指点,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False"><Columns><asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn><asp:TemplateColumn HeaderText="Id"><ItemTemplate><asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Id") %>'></asp:Label></ItemTemplate><EditItemTemplate><asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Id") %>' Width ="20"></asp:TextBox></EditItemTemplate></asp:TemplateColumn><asp:TemplateColumn HeaderText="Name"><ItemTemplate><asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>' Width ="20"></asp:Label></ItemTemplate><EditItemTemplate><asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>' Width ="20"></asp:TextBox></EditItemTemplate></asp:TemplateColumn></Columns></asp:DataGrid> <EditItemTemplate><asp:TextBox Runat="server" width=100 ID="edit_Name" text='<%# DataBinder.Eval(Container.DataItem, "Name") %>' /></EditItemTemplate>设置一下width属性就可以 private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType==ListItemType.EditItem) { for(int i=0;i<4;i++)((TextBox)e.Item.Cells[i].Controls[0]).Width=100; } } if(e.Item.ItemType == ListItemType.EditItem) { TextBox tb = (TextBox)e.Item.Cells[5].Controls[0]; tb.TextMode = TextBoxMode.MultiLine ; tb.ReadOnly=true; } 感谢各位高手的指点,我在各位的指点下总结了一下发出来,我直接调用了DataGrid的ItemDataBound事件,然后加上了以下代码:if(e.Item.ItemType==ListItemType.EditItem){TextBox txt = (TextBox)e.Item.Cells[1].Controls[0];txt.Width = Unit.Pixel(60);}就可以了,再次感谢各位的帮助,送分 在线客服的制作原理 Wap返回怎么返回上一页? 无刷新倒计时问题,求帮忙 本人想做个网上项目交易市场,现在找思路,求大家帮忙!顶的也有分! DXTB 多功能编辑器 v1.0 DataGrid中显示示完整标题 从ASP过渡到ASP.net要多长时间。 关于Web.Config加密的讨论!!! ASP.NET中Session可以存储多少个值? 我没有错呀 关于DropDownList的问题(在线等) 动态添加控件问题
<Columns>
<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
<asp:TemplateColumn HeaderText="Id">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Id") %>'></asp:Label>
</ItemTemplate><EditItemTemplate>
<asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Id") %>' Width ="20"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Name">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>' Width ="20"></asp:Label>
</ItemTemplate><EditItemTemplate>
<asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>' Width ="20"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<EditItemTemplate>
<asp:TextBox Runat="server" width=100 ID="edit_Name" text='<%# DataBinder.Eval(Container.DataItem, "Name") %>' />
</EditItemTemplate>设置一下width属性就可以
{
if(e.Item.ItemType==ListItemType.EditItem)
{
for(int i=0;i<4;i++)((TextBox)e.Item.Cells[i].Controls[0]).Width=100;
}
}
{
TextBox tb = (TextBox)e.Item.Cells[5].Controls[0];
tb.TextMode = TextBoxMode.MultiLine ;
tb.ReadOnly=true;
}
if(e.Item.ItemType==ListItemType.EditItem)
{
TextBox txt = (TextBox)e.Item.Cells[1].Controls[0];
txt.Width = Unit.Pixel(60);
}
就可以了,再次感谢各位的帮助,送分