标题:[求助]求救:datagrid中绑定dataset时出现的问题
只看楼主
海吹风
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-7
 问题点数:0 回复次数:1 
[求助]求救:datagrid中绑定dataset时出现的问题

这两天在开发一个应用程序。大致的思路是:先根据用户创建的的数据生成一个dataset,然后将此dataset绑定到datagrid并显示,用户在此过程中可以重新生成数据,还可以修改已经生成的数据,操作完成后会及时的反映在datagrid中。最后通过dataadapter将数据保存到数据库中。
程序第一次运行时一切正常(第一次绑定正常),在后续操作中就出现了问题,datagrid中无法显示dataset中的数据。通过调试发现生成的dataset里有数据,问题出在绑定语句中。我将代码贴出来,希望各位高手帮我解决!!谢谢!!

Public Sub show_grid()
Dim myds As New DataSet
Dim mydt As New DataTable
Dim mydc As New DataColumn
Dim i, count As Integer


'//////////////////////////////////////////////
'依据选出的试题编号以及题目生成一个dataset
'将此dataset绑定到datagrid上显示
Try
myds.Clear()
'myds.Reset()
mydt.Clear()
'mydt.Reset()

mydt = New DataTable("temp_tb")


mydc = New DataColumn("th", System.Type.GetType("System.Int32"))
mydc.ReadOnly = True
mydt.Columns.Add(mydc)
mydc = New DataColumn("tm", System.Type.GetType("System.String"))
mydc.ReadOnly = True
mydt.Columns.Add(mydc)
mydc = New DataColumn("stfs", System.Type.GetType("System.Decimal"))
mydt.Columns.Add(mydc)

'生成datarow,并将其添加到datatable
Dim dr = mydt.NewRow()
For i = 0 To all_th.Count - 1
dr("th") = all_th(i)
dr("tm") = encrypt.Decrypt(get_stnr(all_th(i)))
dr("stfs") = 0
mydt.Rows.Add(dr)
Next

myds.Tables.Add(mydt) '将datatable绑定到dataset

'///////出问题的地方
datagrid_st.SetDataBinding(myds, "temp_tb")
'datagrid_st.DataSource = myds '设置datagrid的数据源(此处为dataset)
'datagrid_st.DataMember = "temp_tb"

'///////////////////////////////////////
'设置datagrid的外观样式(, 这里主要设置其表头)
Dim dgts As New DataGridTableStyle

dgts.MappingName = "temp_tb"

Dim objTextCol As New DataGridTextBoxColumn
objTextCol.MappingName = "th"
objTextCol.HeaderText = "题号"
dgts.GridColumnStyles.Add(objTextCol)

objTextCol = New DataGridTextBoxColumn
objTextCol.MappingName = "tm"
objTextCol.HeaderText = "试题内容"
dgts.GridColumnStyles.Add(objTextCol)

objTextCol = New DataGridTextBoxColumn
objTextCol.MappingName = "stfs"
objTextCol.HeaderText = "试题分数"
dgts.GridColumnStyles.Add(objTextCol)

datagrid1.TableStyles.Clear()
datagrid1.TableStyles.Add(dgts)


Catch ex As Exception
Debug.WriteLine(ex.Message.ToString())
End Try

End Sub

搜索更多相关主题的帖子: datagrid中 dataset 绑定 数据库 
2005-12-07 10:48
arror
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-12-2
得分:0 

这么写就可以了:
DataGrid.DataSource = DataTable.DefaultView

你的这句也有问题:
myds.Tables.Add(mydt) '将datatable绑定到dataset
当myds已经有表mydt时,还怎么add

2005-12-08 11:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-37024-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.233959 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved