问一下DATAGRID的显示问题~ 最近在做毕业设计,遇到一个显示上面的问题不知道该怎么解决,特来请教一下各位。正常情况下显示如上图所示,看起来还算正常,可是一旦我点击后面的那个“编辑”列,DATAGIRD中的每一列就会变得特别宽,高度好像也有所增加,把整个DATAGRID撑得特别大特别难看,一页都装不下了。如下图所示请问一下该如何解决这个问题 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请参考:DataGrid更改数据库记录时不让DataGrid“变大” gridview 的EditItemTemplate中设置widthtextbox的width 在ItemDataBound事件中设置: if (e.Item.ItemType == ListItemType.EditItem) { TextBox txt = (TextBox)e.Item.Cells[0].Controls[0]; txt.Width = Unit.Pixel(50); } gridview 的EditItemTemplate中设置width,这里我设置了,不过好像没什么作用textbox的width在哪里设置呢?你在8#说的方法? 在ItemDataBound事件中设置: if (e.Item.ItemType == ListItemType.EditItem) { TextBox txt = (TextBox)e.Item.Cells[0].Controls[0]; txt.Width = Unit.Pixel(50); } 我加了这段代码,不过还是不管用 是不是说右键DATAGRID-属性生成器-把按钮列里的“编辑、更新、取消”这一列删了,重新增加一个模板列?点完编辑列的时候,本来还会自动出现“更新”,“取消”两个列呢。 DATAGRID -> 属性 -> colluenms(英文我记不清,意思是列) ->对话框中选中编辑的列 -> 在对话框中点击转换为模板 -> OK 恩 我找到了 “把此列转换为模板列”那是应该把DATAGRID中的每一列都转为模板列还是只需要把“编辑”列转为模板列? 可以,在html里改一下就行,不过没那个必要,模板列用起来更灵活。 <asp:TemplateColumn HeaderText="角色描述"> <ItemTemplate> <asp:Label id=Label3 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.role_desc") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox id=TextBox3 runat="server" Width="164px" Height="25px" Text='<%# DataBinder.Eval(Container, "DataItem.role_desc") %>'> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn>是不是把外层的都删掉就留下 <asp:TextBox id=TextBox3 runat="server" Width="164px" Height="25px" Text='<%# DataBinder.Eval(Container, "DataItem.role_desc") %>'> </asp:TextBox>就改回去了? 改成类似这样的 <asp:BoundField DataField="bt" HeaderText="QQQQQQ" SortExpression="bt"> <HeaderStyle Width="530px" /> </asp:BoundField>没有转换前的状态 Cache是否可以跨域访问?关注者有分 附件下载问题!!! 2003 里的treeview怎么变透明? C# ASP.NET 我在模板列里加了一个Image控件怎么调用.cs文件里自己定义的函数 急!高分求助!我使用fretextbox增加按钮遇到的问题 (请教)asp.net 里怎样把音频文件路径以变量形式传递到网页里的音频播放器! 音频播放器附代码 去掉,号 asp.net gridview 翻页后,选择行数据还是第一页上的数据 kindeditor 怎样取content内容 web.config中安全配置的问题 MVC网站发布后的问题 JQuery执行顺序问题
textbox的width
if (e.Item.ItemType == ListItemType.EditItem)
{
TextBox txt = (TextBox)e.Item.Cells[0].Controls[0];
txt.Width = Unit.Pixel(50);
}
if (e.Item.ItemType == ListItemType.EditItem)
{
TextBox txt = (TextBox)e.Item.Cells[0].Controls[0];
txt.Width = Unit.Pixel(50);
} 我加了这段代码,不过还是不管用
<ItemTemplate>
<asp:Label id=Label3 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.role_desc") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=TextBox3 runat="server" Width="164px" Height="25px" Text='<%# DataBinder.Eval(Container, "DataItem.role_desc") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>是不是把外层的都删掉
就留下 <asp:TextBox id=TextBox3 runat="server" Width="164px" Height="25px" Text='<%# DataBinder.Eval(Container, "DataItem.role_desc") %>'>
</asp:TextBox>
就改回去了?
<asp:BoundField DataField="bt" HeaderText="QQQQQQ" SortExpression="bt">
<HeaderStyle Width="530px" />
</asp:BoundField>
没有转换前的状态