如何设置DataGrid的列宽度????在线等待!!!

fish_kun 2003-10-18 03:06:30
我在使用DataGrid时,各列的宽度都一样,可我有些列需要长一些,如何设置???
...全文
138 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqwqq 2003-10-24
  • 打赏
  • 举报
回复
同意net_lover
yaotiebing 2003-10-21
  • 打赏
  • 举报
回复
DataGrid.Columns(8).ItemStyle.Width = Unit.Pixel(80)
haoliqi 2003-10-21
  • 打赏
  • 举报
回复
把不够宽的列设置为:单元格不换行
DataGrid.Columns[index].Wrap=false;
NoReady 2003-10-21
  • 打赏
  • 举报
回复
我老发这一段的:
dgd为一个datagrid

Dim TblStyle As New DataGridTableStyle
Dim ColStyle As DataGridColumnStyle

dgd.TableStyles.Clear()

With TblStyle
.ReadOnly = True
.AllowSorting = False
.GridColumnStyles.Clear()
.BackColor = System.Drawing.Color.AliceBlue
.AlternatingBackColor = System.Drawing.Color.MintCream
.HeaderBackColor = System.Drawing.Color.LightGray
.SelectionBackColor = System.Drawing.Color.PaleTurquoise
.SelectionForeColor = System.Drawing.Color.Red
End With

'加入标题
With tbl
.Clear()
.Columns.Add("选择", GetType(Boolean))
.Columns.Add("期次")
.Columns.Add("号码")
.Columns.Add("开奖日期")
End With

'第1列
ColStyle = New DataGridBoolColumn

With ColStyle
.HeaderText = "选择"
.Width = 40
.MappingName = tbl.Columns(0).ColumnName
.Alignment = HorizontalAlignment.Center
End With
TblStyle.GridColumnStyles.Add(ColStyle)


'第1列
ColStyle = New DataGridTextBoxColumn

With ColStyle
.HeaderText = "期次"
.Width = 50
.ReadOnly = True
.NullText = ""
.MappingName = tbl.Columns(1).ColumnName
.Alignment = HorizontalAlignment.Center
End With
TblStyle.GridColumnStyles.Add(ColStyle)
'第2列
ColStyle = New DataGridTextBoxColumn
With ColStyle
.HeaderText = "号码"
.Width = 80
.ReadOnly = True
.NullText = ""
.MappingName = tbl.Columns(2).ColumnName
.Alignment = HorizontalAlignment.Center
End With
TblStyle.GridColumnStyles.Add(ColStyle)
'第3列
ColStyle = New DataGridTextBoxColumn
With ColStyle
.HeaderText = "开奖日期"
.Width = 80
.ReadOnly = True
.NullText = ""
.MappingName = tbl.Columns(3).ColumnName
.Alignment = HorizontalAlignment.Center
End With
TblStyle.GridColumnStyles.Add(ColStyle)

With dgd
.DataSource = tbl
.TableStyles.Add(TblStyle)
.ColumnHeadersVisible = True
End With
flyhorse1980 2003-10-18
  • 打赏
  • 举报
回复
学习一下
SeeSunSet 2003-10-18
  • 打赏
  • 举报
回复
itemstyle-width
孟子E章 2003-10-18
  • 打赏
  • 举报
回复
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
MyAspxWeb.InnerText = "【孟宪会之精彩世界】之.NET开发者园地"
DataGrid1.Columns(0).HeaderText = "文章标题"
DataGrid1.Columns(1).HeaderText = "发布日期"
DataGrid1.Columns(0).HeaderStyle.HorizontalAlign = HorizontalAlign.Center
DataGrid1.Columns(1).HeaderStyle.HorizontalAlign = HorizontalAlign.Center
' 只为 Header 行添加宽度
DataGrid1.Columns(0).HeaderStyle.Width = System.Web.UI.WebControls.Unit.Percentage(72)
DataGrid1.Columns(1).HeaderStyle.Width = System.Web.UI.WebControls.Unit.Percentage(28)
DataGrid1.Style.Add("table-layout", "fixed")
intID = Request.QueryString("id")
If Not Page.IsPostBack Then
Data_Bind()
End If
End Sub
liuguangwei 2003-10-18
  • 打赏
  • 举报
回复
Private Sub BingDG()
With datagrid1
.CaptionText = "压机车间待入库信息"
.DataSource = dv
.ReadOnly = True
End With

datagrid1.TableStyles.Clear()

Dim grdTableStyle1 As New DataGridTableStyle

With grdTableStyle1
.MappingName = dvYStayHouseWare.Table.TableName
.AlternatingBackColor = Color.Lavender
.BackColor = Color.WhiteSmoke
.ForeColor = Color.MidnightBlue
.GridLineColor = Color.Gainsboro
.HeaderBackColor = Color.MidnightBlue
.HeaderForeColor = Color.WhiteSmoke
.SelectionBackColor = Color.CadetBlue
.SelectionForeColor = Color.WhiteSmoke
End With
Dim grdColStyle1 As New DataGridTextBoxColumn

With grdColStyle1
.MappingName = "ID"
.HeaderText = "流水号"
.Width = 100

End With

Dim grdColStyle2 As New DataGridTextBoxColumn

With grdColStyle2
.MappingName = "ProductName"
.HeaderText = "产品名"
.Width = 100

End With

Dim grdColStyle3 As New DataGridTextBoxColumn

With grdColStyle3
.MappingName = "Amount"
.HeaderText = "数量"
.Width = 100

End With

Dim grdColStyle4 As New DataGridTextBoxColumn

With grdColStyle4
.MappingName = "CheckAmount"
.HeaderText = "核订数"
.Width = 100
End With

Dim grdColStyle5 As New DataGridBoolColumn

With grdColStyle5
.MappingName = "isAccept"
.HeaderText = "是否已签收"
.Width = 80

End With

Dim grdColStyle6 As New DataGridTextBoxColumn

With grdColStyle6
.MappingName = "Remark"
.HeaderText = "备注"
.Width = 200
End With



grdTableStyle1.GridColumnStyles.AddRange(New DataGridColumnStyle() _
{grdColStyle1, grdColStyle2, grdColStyle3, grdColStyle4, _
grdColStyle5, grdColStyle6})

datagrid1.TableStyles.Add(grdTableStyle1)

End Sub
kuangsha007 2003-10-18
  • 打赏
  • 举报
回复
右键,属性生成器,为列设宽度
Surpass 2003-10-18
  • 打赏
  • 举报
回复
先定义一个样式

Function GridTableStyle(ByVal Obj As Object, ByVal DataGrid As DataGrid)
Dim MyCurrencyManager As CurrencyManager
Dim MyGridTableStyle As DataGridTableStyle
MyCurrencyManager = CType(Obj.BindingContext(Table), CurrencyManager)
MyGridTableStyle = New DataGridTableStyle(MyCurrencyManager)
DataGrid.TableStyles.Clear()
DataGrid.TableStyles.Add(MyGridTableStyle)
Dim ColStyle As GridColumnStylesCollection
ColStyle = DataGrid.TableStyles(0).GridColumnStyles
DataGrid.BorderStyle = BorderStyle.None
DataGrid.FlatMode = False
End Function
'宽度
Function GridColumnWidth(ByVal DataGrid As DataGrid, ByVal Column As Integer, ByVal Width As Integer)
DataGrid.TableStyles(0).GridColumnStyles(Column).Width = Width
End Function

应用:
……
Table = DS.Tables.Item(0)
DataGrid1.DataSource = Table
GridTableStyle(Me, DataGrid1)
GridColumnWidth(DataGrid1, 0, 0) '第1列
GridColumnWidth(DataGrid1, 1, 150) '第2列
……

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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