DataGrid Web Control 连载之二

本文介绍了如何通过禁用自动生成列属性来自定义DataGrid控件,并提供了设置列宽、对齐方式及高度的方法,包括使用样式元素和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      这个系列是在开发过程中对遇到的技术问题的一个总结,当时对这个控件的了解不是很多,但是根据需要实现的功能,不得不查阅N多资料,在MSDN文档中只有英文的说明,我整理并翻译了出来,在此和大家一起分享。转载请加此连接[url]http://august.blog.51cto.com[/url],谢谢!
     默认情况下,DataGrid控件自动调整行和列,使它们适应你指给它的全部的高度和
宽度。在全部宽度内,它根据列头的文本来控制列的宽度。所有数据默认都是左对齐
的。
     为控制列的特性,应该关闭“自动生成列”属性——将AutoGenerateColumns属性置
为false.在实际的使用中,只有在Short—termuses,如quick proof-of concept pages 或者演示的时候,才将该属性设为True.对于生成应用程序而言,你应该默认添加列,每个列可以是绑定列或者模板列。
     为了控制某个列宽,可以为该列产生一个样式元素(style-element)然后将元素的宽度属性设为标准单位,下面给出了一个项样式的width属性设置的HTML代码:
  <asp: BoundColumn DataField=”title”SortExpression=”title”
       Header Text=”Title”>
     <ItemStyle Width=”100px”></ItemStyle>
  </asp:BoundColumn>
注:可以将ItemStyle-Width=”100px”写入Boundolumn中。
          你可以使用样式元素设置对齐方式,将其设为“左”、“右”或者其它在“水平对齐”集合中定义的值(在VS中,每个单独的列对齐方式是可见的)
下面是一个例子:
  <asp: BoundColumn DataField=”title” SortExpression=”title”
       HeaderText=”Title”>
     <ItemStyle Width=”100px”HorizontalAlign=”Right”></ItemStyle>
  </asp:BoundColumn>
     你还可以使用样式元素设定列的高度,你很可能会觉得这没有设定宽度灵活,因为设定某一列的高度也就设定了全部列的高度。
     你也可以在运行时通过代码设定宽度,采取这种方式的一个例子就是ItemGreated事件句柄,下面的例子将前两列分别设定为100和50像素。
//C#
 Private void DataGrid-ItemCreated(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
 e.Item.Cells[0]Width=new Unit(100);
 e.Item.Cells[1].Width=new Unit(50);
}
当然,将这些可以在设计时就设置好的宽度值通过代码来设置几乎没有任何意义。一般情况下,你可能只是想要基于运行时的值来设定宽度而采取这种方法,你可以将单元格控件的宽度设为标准的单位(往往是像素)。但是,它并不直接将这些长度数据转化为像素——这些仅仅是字符数。然而,当你创建一个项的时候,可以使用这些数据来检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值