CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

马上给分!datagrid列宽问题??

楼主vbvc(深蓝)2002-12-17 14:44:17 在 .NET技术 / ASP.NET 提问

通过datatset和datagrid绑定,datagrid有好几个列,字段宽度不一样,我想自己设定每列的宽度,怎么实现??  
   
  为什么我这样不能实现呢?  
   
          Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
                   
                  Dim   widths()   As   String   =   {100,   80,   120,   100,   100,   50,   150}  
                  Dim   i   As   Integer  
                  For   i   =   0   To   DataGrid1.Columns.Count   -   1  
                          DataGrid1.Columns(i).ItemStyle.Width   =   Unit.Parse(widths(i))  
                  Next  
   
   
          End   Sub 问题点数:20、回复次数:15Top

1 楼lilyfirstone(?!?,......)回复于 2002-12-17 14:48:08 得分 0

在datagrid里可视化的属性设置里就有列宽设置Top

2 楼garth(小虾)回复于 2002-12-17 15:58:49 得分 0

对阿,设计器里可以编辑每列的宽度和其他样式属性  
  Top

3 楼qiushuiwuhen(秋水无恨)回复于 2002-12-17 16:19:43 得分 15

设置             OnItemCreated="ItemCreated"  
   
  Protected   Sub   ItemCreated(Sender   As   Object,   e   As   DataGridItemEventArgs)  
   
  if   e.Item.ItemType=ListItemType.Header   then  
  Dim   i   as   Integer  
  Dim   widths()   As   String   =   {1000,   80,   120,   100,   100,   50,   150}  
                  For   i   =   0   To   e.Item.Cells.Count   -   1  
                          e.Item.Cells(i).Width   =   Unit.Parse(widths(i))  
                  Next  
   
  end   if  
  End   SubTop

4 楼raychiu(绝世好欣)回复于 2002-12-17 16:25:28 得分 0

用模板列绑定数据后例如      
   
  <asp:TemplateColumn   HeaderText="内容">  
  <ItemTemplate>  
  <asp:label   Text='<%#   container.dataitem("mcontent")     %>'   Width=210   Runat=server   ID="Label1"/>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
   
  上边的   width   属性就是其宽度Top

5 楼wujianlei9797(云帆)回复于 2002-12-17 16:28:56 得分 0

在datagrid   的属性生成器中设置列宽Top

6 楼expertwk(小鱼儿)回复于 2002-12-17 16:56:26 得分 0

我的代码这样子的,加在Page_Load中可以改变的了  
  [C#]  
  private   void   setwidth()  
  {  
  string[]   arr=new   string[4]{"20","85","125","580"};  
  for   (int   i=0;i<MyDataGrid.Columns.Count;i++)  
  {  
  MyDataGrid.Columns[i].ItemStyle.Width=Unit.Parse(arr[i].ToString());  
  }  
  }  
   
  不知道你的为什么不行!其他的都没有什么设置Top

7 楼qiushuiwuhen(秋水无恨)回复于 2002-12-17 17:05:45 得分 0

因为他并没设   AutoGenerateColumns="false",我想Top

8 楼yohomonkey(思考中的猴)回复于 2002-12-17 17:54:57 得分 0

有一点!当你的数据宽度超过你的定义时,定义的宽度失效。Top

9 楼vbvc(深蓝)回复于 2002-12-17 18:52:29 得分 0

同意yohomonkey(ht)说法  
   
  我正是遇到这个问题?  
   
  那又该怎么解决?Top

10 楼vbvc(深蓝)回复于 2002-12-17 21:15:54 得分 0

譬如如果一列宽度设定为50px,但有一个数据很长,如:  
  asfsabfsjfhdjfhsajkh5445421@asfgasgfs.com.cn  
   
  结果定义的宽度失效了  
   
  怎么办啊!?Top

11 楼hllsmart(红烧肉)回复于 2002-12-17 21:41:31 得分 0

把每一列绑定到<asp:BoundColumn     />里再设置他的宽度应该可以.Top

12 楼vbvc(深蓝)回复于 2002-12-17 23:07:03 得分 0

但是,我是通过动态来绑定的啊,这怎么实现?Top

13 楼nidttmwwt(beibi)回复于 2002-12-17 23:12:23 得分 5

用css.  
  word-wrap:break-word;Top

14 楼nkdzc()回复于 2002-12-17 23:36:57 得分 0

upTop

15 楼vbvc(深蓝)回复于 2002-12-18 19:58:10 得分 0

nidttmwwt(beibi)    
   
  能具体说说吗Top

16 楼vbvc(深蓝)回复于 2002-12-19 12:55:54 得分 0

 
  采用qiushuiwuhen(秋水无恨)上面的方法和后来提供的方法:  
  style="word-wrap:break-word;"  
   
  问题解决。Top

相关问题

  • datagrid 的列宽
  • DataGrid列宽问题
  • datagrid的列宽问题
  • 控制DataGrid的列宽
  • datagrid中列宽在那里可以调呀?(在线等,解决就散分)
  • 如何设置datagrid的列宽?
  • 关于datagrid的列宽,怎么控制
  • 关于datagrid列宽的问题
  • 怎样动态调整datagrid的列宽?
  • winform中,DataGrid如何自定义列宽?

关键词

  • 属性
  • datagrid
  • word
  • 列宽
  • 宽度
  • 设置
  • 绑定
  • width
  • 实现
  • sub

得分解答快速导航

  • 帖主:vbvc
  • qiushuiwuhen
  • nidttmwwt

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo