datagridview 列名

qq03sj04 2008-03-25 10:35:01
我的数据库(Sql)表字段都是拼音简写,利用数据集填充到datagridvirw中后列名很不直观,我建了一个专门的表来记录字段名的中文意义,想将datagridview的列名用中文显示出来
两个表如下:
表a:
xm gh_xx jn_gz
赵大 001 500
李二 002 400

表b:
zdname name
xm 姓名
gh_xx 工号
jn_gz 技能工资

我想将表a填充到我的datagridview1,填充成如下模式
姓名 工号 技能工资
赵大 001 500
李二 002 400
应该怎么做,填充过程中不要把表a的字段名给改了啊
...全文
459 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
htwj1998 2010-04-26
  • 打赏
  • 举报
回复
关注...
兔子抡大锤 2008-09-17
  • 打赏
  • 举报
回复
6楼的方法比较麻烦,不过我不知道别的方法,期待哪位大哥帮忙。
_NET2004 2008-03-26
  • 打赏
  • 举报
回复
学习一下
ncqingchuan1976 2008-03-26
  • 打赏
  • 举报
回复
select xm as 姓名 from gzk
就OK了
水如烟 2008-03-26
  • 打赏
  • 举报
回复
Public Class Form1


Private gInfoTable As New InfoTable
Private gTableNames As New TableNames

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
gInfoTable.LoadDatas()

Me.DataGridView1.DataSource = gInfoTable
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
gTableNames.UpdateDataGridView(Me.DataGridView1)
End Sub

End Class

Public Class InfoTable
Inherits DataTable

Sub New()
Me.TableName = "Info"
With Me.Columns
.Add("xm")
.Add("gh_xx")
.Add("jn_gz", GetType(Decimal))
End With

Me.PrimaryKey = New DataColumn() {Me.Columns("gh_xx")}
End Sub

Public Sub LoadDatas()
Me.Rows.Add(New Object() {"赵大", "001", 500})
Me.Rows.Add(New Object() {"李二", "002", 400})
Me.AcceptChanges()
End Sub
End Class


Public Class TableNames
Inherits DataTable

Sub New()
Me.TableName = "TableName"
With Me.Columns '最好加一个table的字段,指明是属于哪个表的
.Add("zdname")
.Add("name")
End With

With Me.Rows
.Add(New Object() {"xm", "姓名"})
.Add(New Object() {"gh_xx", "工号"})
.Add(New Object() {"jn_gz", "技能工资"})
End With

Me.AcceptChanges()
End Sub

Public Sub UpdateDataGridView(ByVal dv As DataGridView)
If dv Is Nothing Then Return
If dv.DataSource Is Nothing Then Return

For Each c As DataGridViewColumn In dv.Columns
Dim rows As DataRow() = Me.Select(String.Format("zdname = '{0}'", c.Name))

If rows.Length = 0 Then Continue For

c.HeaderText = rows(0).Item("name").ToString '如果有多个匹配,只参考第一个
Next
End Sub
End Class
zy227 2008-03-25
  • 打赏
  • 举报
回复
select * form 表b join 表a; 这是在2个表字段匹配时用的

或者

   Dim dtblREPORT As DataTable
dtblREPORT = SelectREPORT() '执行的某次查询
Dim a As New Data.DataColumn
a.ColumnName = "新加的列" '新加列的headerName
dtblREPORT.Columns.Add(a)

For u As Integer = 0 To dtblREPORT.Rows.Count - 1
dtblREPORT.Rows(u).Item("1") = "1" '为新加列赋值
Next
wuhongyao3 2008-03-25
  • 打赏
  • 举报
回复

ds.Tables("Source").Columns("AdpID").ColumnName = "SourceAdpID"
ds.Tables("Source").Columns("Connection String").ColumnName = "SourceConnectionString"
ds.Tables("Source").Columns("Select SQLString").ColumnName = "SourceSelectSQLString"
ds.Tables("Source").Columns("Update SQLString").ColumnName = "SourceUpdateSQLString"
ds.Tables("Source").Columns("Delete SQLString").ColumnName = "SourceDeleteSQLString"
ds.Tables("Source").Columns("Insert SQLString").ColumnName = "SourceInsertSQLString"


ds.Tables("Source").Columns("AdpID").ColumnName = "SourceAdpID"
表 列 姓名 工号 技能工资

这样吗?
qq03sj04 2008-03-25
  • 打赏
  • 举报
回复
Dim dsname As New Data.DataSet
Dim sqlcmdname1 As New Data.SqlClient.SqlCommand
sqlcmdname1.Connection = cn
sqlcmdname1.CommandText = "select * from gzk"
Dim daname1 As New Data.SqlClient.SqlDataAdapter(sqlcmdname1)
daname1.Fill(dsname.Tables.Add)
Dim sqlcmdname2 As New Data.SqlClient.SqlCommand
sqlcmdname2.Connection = cn
sqlcmdname2.CommandText = "select * from gzk_zdsm"
Dim daname2 As New Data.SqlClient.SqlDataAdapter(sqlcmdname2)
daname2.Fill(dsname.Tables.Add)
gzk为表a,gzk_zdsm为表b,接下来该怎么写?

16,717

社区成员

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

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