怎样将DataGrid的列宽、行高固定?

berryding 2002-12-28 11:43:59
怎样将DataGrid的列宽、行高固定?
DataGrid的列设为“在运行时创建”,程序运行后,其行、列的宽度随着其中的数据变大(小),使的DataGrid变得很大(小),怎样将DataGrid的大小固定,而不论其中的数据为多少,超过的部分隐藏?
...全文
134 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyhzzjcn 2003-01-03
  • 打赏
  • 举报
回复
按照楼上N位同志说法可以吗?

我想这都是最后HTML的问题啊,用CSS我觉得可以搞定,但没试过了、呵呵
ykn 2003-01-03
  • 打赏
  • 举报
回复
关注
jackeyzm 2003-01-03
  • 打赏
  • 举报
回复
操作有误,不好意思!
如果是动态的,这样就可以了:
DataGrid1.Columns[0].HeaderStyle.Width = Unit.Parse("100");
jackeyzm 2003-01-03
  • 打赏
  • 举报
回复
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (itemType == ListItemType.Header)
{
e.Item.Cells.RemoveAt(3);
e.Item.Cells[3].ColumnSpan = 2;
e.Item.Cells[3].Text = "==操作==";
e.Item.Cells[3].HorizontalAlign = HorizontalAlign.Center;
}
berryding 2002-12-28
  • 打赏
  • 举报
回复
To: raychiu(绝世好欣)
我的列是运行时创建的,怎办?
raychiu 2002-12-28
  • 打赏
  • 举报
回复
选中 datagrid后 看其属性 属性栏的 最底 有个叫“属性生成器”,但是我还是建议你 在 html下边写。不能偷懒
berryding 2002-12-28
  • 打赏
  • 举报
回复
To: xhan2000(popeye.net)
可以具体说说吗?我找了很久,都没弄成
xhan2000 2002-12-28
  • 打赏
  • 举报
回复
使用vs.net的属性生成器,很简单

设定就可以了
dachun 2002-12-28
  • 打赏
  • 举报
回复
raychiu(绝世好欣) ( )说得对
<ASP:DataList id="MyDataList" runat="server">

<ItemTemplate>

<table width="600" border="0" cellspacing="0" style="font: 10.5pt 宋体">
<tr>
<td width=1 bgcolor="BD8672"/> 
<td valign="top"><b>书名:</b><%# DataBinder.Eval(Container.DataItem, "title") %></td>
<td valign="top"> <b>类别:</b><%# DataBinder.Eval(Container.DataItem, "type") %> </td>
<td valign="top"><b>出版商 ID:</b><%# DataBinder.Eval(Container.DataItem, "pub_id") %></td>
<td valign="top"><b>价格:</b><%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %></td>
<td valign="top"> </td>
</tr>

</table>

</ItemTemplate>

</ASP:DataList>
raychiu 2002-12-28
  • 打赏
  • 举报
回复
我试过如果用绑定列即使用限定了,他编辑的时候也同样会变宽,用模板列吧

<asp:TemplateColumn HeaderText="好友id">
<ItemTemplate>
<asp:LinkButton Tooltip="点击发送纸条" Text='<%# container.dataitem("friend_id") %>' Width=100 Runat=server ID="Linkbutton1" CommandName ="sendzht" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Width=100 ID="friend_id" Text='<%# container.dataitem("friend_id") %>' Runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>

但是其实宽度和 高度只能限制 一个,毕竟若读出的数据太多的时候始终都会向某个方向延伸,上面的程序是限定宽度的 若是高度 就用 height属性上面的friend_id为数据库字段的id
berryding 2002-12-28
  • 打赏
  • 举报
回复
up
rock008 2002-12-28
  • 打赏
  • 举报
回复
很容易呀,先把它注释掉,设成静态就可以拉,改好后再设成动态吗。
berryding 2002-12-28
  • 打赏
  • 举报
回复
To: rock008(chai)
静态连接?你是不是指DataGrid的列不是动态生成,而是先就绑定好了?
我的DataGrid的列是动态生成的,该怎么办?
rock008 2002-12-28
  • 打赏
  • 举报
回复
这个问题我遇到过,按我的操作包你满意,首先将你的库表设定为静态连接,然后刷新datagrid,点击它的属性你可以想设多宽就拉多宽,高度吗,在字体里设就行拉,然后再改为动态就可以拉。
berryding 2002-12-28
  • 打赏
  • 举报
回复
TO::xiajianfeng(权利的战车)
不是要将DataGrid的宽度改变,而是要固定
同时也要行高固定,即行高、宽不随数据的长度而变化
berryding 2002-12-28
  • 打赏
  • 举报
回复
TO::xiajianfeng(权利的战车)
不是要将DataGrid的宽度改变,而是要固定
xiajianfeng 2002-12-28
  • 打赏
  • 举报
回复
原来我的项目是要求不能超过两行,我写了个函数可以控制。
如果你想根据数据自动缩放,可以试试在page_load中先将DataGrid的宽度置0
plife 2002-12-28
  • 打赏
  • 举报
回复
右键属性生成器,随便设置
berryding 2002-12-28
  • 打赏
  • 举报
回复
TO::xiajianfeng(权利的战车)
可以,可是行高怎么固定呢?我现在有数据这样显示出来,不知怎样弄好:

列1 列2 列3
1 Are good
you
ok?
2 And good
you
?
如果我把DataGrid设宽一点,就可能根据DataGrid的宽度显示,如上例我把宽设大一点,可能出现如下显示:
列1 列2 列3
1 Are you ok good
?
2 And you ? good
xiajianfeng 2002-12-28
  • 打赏
  • 举报
回复
做个横向的滚动条,如何?
加载更多回复(1)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧