Datagridview绑定的数据,行顺序是乱的,是什么问题

kyle2cj 2008-03-20 04:51:21
Datagridview绑定了ACCESS数据源,但显示出来的行顺序和数据源不一样,为什么呢?
...全文
525 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
WY_laoKK 2011-07-18
  • 打赏
  • 举报
回复
直接用order by 就解决了
openext 2008-09-08
  • 打赏
  • 举报
回复
楼主 最后是用order by解决的问题吗?现在遇到的问题和你一样
zy227 2008-04-02
  • 打赏
  • 举报
回复
kyle2cj 2008-03-27
  • 打赏
  • 举报
回复
在数据库里是正确的,,,在fill后,dataset里就是乱的...
Dataset里好像找不到Auto...的属性,,,

就用order by自己排序好了
zy227 2008-03-27
  • 打赏
  • 举报
回复
有個 auto.....的屬性 設置 為 true 這樣 你從數據庫中 Datagridview中取出的數據 就和數據庫中的一樣了

Datagridview的headertext對應的就是數據庫中字段的名

你在項目中 auto.....=true

廢話不少

。。。。。。。。。自己找找吧 我這面沒有開發工具
goodloop 2008-03-27
  • 打赏
  • 举报
回复
在输入数据库的时候,数据是否是比较乱的?

取出数据的时候是否按照某种规则排过序?

如果排序了,绑定到DataGridView的时候是不是还是乱的?
kyle2cj 2008-03-26
  • 打赏
  • 举报
回复
fill到dataset里就是乱序,在绑定之前
changjie84 2008-03-26
  • 打赏
  • 举报
回复
是不是你的datagridview字段绑定的顺序和sql中查询出的字段的顺序不一样呀
kyle2cj 2008-03-25
  • 打赏
  • 举报
回复
呵呵,我再另做一个数据库看看,,,真是奇了怪了,,,
herol 2008-03-25
  • 打赏
  • 举报
回复
那就不用管画面了,查查ACCESS是不是设置有什么问题(问题大概就出在这),看看取值过程有没有问题(个人觉得应该是没有)
kyle2cj 2008-03-25
  • 打赏
  • 举报
回复
dataadapter.fill(dataset,"table") 检查了Dataset里就是乱的了

另外,我直接打开access看到的是顺序(按编号),,,
herol 2008-03-25
  • 打赏
  • 举报
回复
跟一下代码,看看mDS.Tables("member") 这个Table里是不是乱序,
如果不是,那就是之后的问题,可能是Datagridview的问题,或者是之后有什么地方改变顺序了,比如设置了什么属性之类的,可以但不跟踪代码看看
如果是,那就是之前的问题,也就是说,取出来的就是乱序,那要看Excel问题,和取值问题,看看这之间是否有什么问题
kyle2cj 2008-03-25
  • 打赏
  • 举报
回复
试了一下,好像还是不行,,,有谁知道解决方法?或是什么问题
hskshk 2008-03-25
  • 打赏
  • 举报
回复
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Dim objconnection As New SqlConnection("Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=True")
Dim objdataadapter As New SqlDataAdapter()
Dim objdataset As New DataSet()
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
objdataadapter.SelectCommand = New SqlCommand
objdataadapter.SelectCommand.Connection = objconnection
objdataadapter.SelectCommand.CommandText = "select 字段名1,字段名2'.. from 表名"&"order by 关键字"
objdataadapter.SelectCommand.CommandType = CommandType.Text
objconnection.Open()
objdataadapter.Fill(objdataset, "表名")'检索数据并填充dataset对象
objconnection.Close()
grdAuthorTitles.AutoGenerateColumns = True
grdAuthorTitles.DataSource = objdataset
grdAuthorTitles.DataMember = "表名"
End Sub

End Class
这个是SQL的跟ACCESS应该差不多
kyle2cj 2008-03-21
  • 打赏
  • 举报
回复
还是不行,新画的也一样。换一个From还是不行,,,真是奇了...而且看显示出来的结果,并不是根据哪一列来排序的,跟本就是个乱序
herol 2008-03-21
  • 打赏
  • 举报
回复
看这代码似乎是没问题
2005的Datagridview有自动按某一列排序的功能,是不是Datagridview设置有问题
再新画一个Datagridview试试
kyle2cj 2008-03-21
  • 打赏
  • 举报
回复
为了再现问题,我重做了一个新button来绑定Datagridview,,,显示出来还是一样,,,而且代码是极简单,,不知道哪里还有错.请帮尽看看,,

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SQLUrl = "select top 100 * from [member]"
Dim Tadapter As OleDbDataAdapter = New OleDbDataAdapter(SQLUrl, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\abc.mdb")
Tadapter.Fill(mDS, "member")
dgv.DataSource = mDS.Tables("member")
End Sub
kyle2cj 2008-03-21
  • 打赏
  • 举报
回复
我知道在select里可以用order by来指定排序,,,但我只想看到Access里的原来的顺序
herol 2008-03-21
  • 打赏
  • 举报
回复
应该是你从ACCESS取出来的时候乱的,看看绑定Datagridview之前的数据源里的数据,应该那里就是乱的,看看有没有用其他什么字段排序了的语句
kyle2cj 2008-03-21
  • 打赏
  • 举报
回复
有没有人提示一下,是哪的设置问题吗?
编号列是ACCESS自动生成的主键,在ACCESS是按顺序排的,到Datagridview里怎么是这样的顺序呢?

16,717

社区成员

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

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