如何设定Datagrid控件中各列的样式

jilong4 2004-12-06 10:37:25
现有一Gatagrid控件已和数据库某表绑定,如何设置各列样式
比如:ID列隐藏,Name改名为“名字”,宽度设为1000,Price列格式化保留2位小数等等
刚开始学.Net给点代码
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
henrysap 2004-12-07
  • 打赏
  • 举报
回复
Private ts As New DataGridTableStyle

Dim myDataCol As New DataGridTextBoxColumn


myDataCol = New DataGridTextBoxColumn
myDataCol.HeaderText = "列名"
myDataCol.MappingName = "表中名字"
myDataCol.Width = 100
myDataCol.ReadOnly = True
ts.GridColumnStyles.Add(myDataCol)


myDataCol = New DataGridTextBoxColumn
myDataCol.HeaderText = "列名"
myDataCol.MappingName = "表中名字"
myDataCol.Width = 100
myDataCol.ReadOnly = True
ts.GridColumnStyles.Add(myDataCol)


myDataCol = New DataGridTextBoxColumn
myDataCol.HeaderText = "列名"
myDataCol.MappingName = "表中名字"
myDataCol.Width = 100
myDataCol.ReadOnly = True
ts.GridColumnStyles.Add(myDataCol)

.
.
.
.
myDataCol = New DataGridTextBoxColumn
myDataCol.HeaderText = "列名"
myDataCol.MappingName = "表中名字"
myDataCol.Width = 100
myDataCol.ReadOnly = True
ts.GridColumnStyles.Add(myDataCol)

DataGrid.TableStyles.Add(ts)
allanli 2004-12-06
  • 打赏
  • 举报
回复
装载样式

http://community.csdn.net/Expert/topic/3434/3434223.xml?temp=.3564722
landlordh 2004-12-06
  • 打赏
  • 举报
回复
'通用样式化Datagird
'Power by:landlordh
Private Sub style()
Try
'列名,有多少写多少个
Dim strHeaders() As String = {"编号", "添加时间", "代码主题", "代码内容"}
'列宽,为0隐藏
Dim iWidths() As Integer = {0, 70, 130, 0}
DataGrid1.DataSource = DataSet1.Tables("codes")
DataSet1.Tables("codes").DefaultView.AllowNew = False
DataSet1.Tables("codes").DefaultView.AllowEdit = False
Dim i As Integer
Dim ts As New DataGridTableStyle
ts.MappingName = DataSet1.Tables("codes").TableName
ts.AlternatingBackColor = System.Drawing.Color.PapayaWhip
ts.BackColor = System.Drawing.Color.WhiteSmoke
ts.SelectionBackColor = System.Drawing.Color.LightSteelBlue
ts.SelectionForeColor = Color.Black
ts.RowHeaderWidth = 10
ts.PreferredRowHeight = 20

For i = 0 To DataSet1.Tables("codes").Columns.Count - 1
Dim ac As New DataGridTextBoxColumn
AddHandler ac.TextBox.Enter, AddressOf TextBoxEnterHandler
ac.HeaderText = strHeaders(i)
ac.MappingName = DataSet1.Tables("codes").Columns(i).ColumnName
ac.TextBox.Width = iWidths(i)
ts.PreferredColumnWidth = ac.TextBox.Width
ts.GridColumnStyles.Add(ac)
'哪列,i=第几列数-1
If i = 1 Or i = 2 Then
'你要的效果
'ac.Format = "yyyy-mm-dd hh:mm:ss"
'ac.ReadOnly = True
'ac.NullText = ""
ac.Alignment = HorizontalAlignment.Center
End If
Next
DataGrid1.TableStyles.Clear()
DataGrid1.TableStyles.Add(ts)
Catch ex As Exception
MessageBox.Show("格式化网格出错了")
End Try
End Sub

16,554

社区成员

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

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