datagrid显示数据的奇怪问题
各位大牛,我想在vb.net的windows form中使用一个datagird控件显示dataset中返回的查询内容,代码如下:Dim strSQL As String = "select teacher_xm as 姓名,teaher_xb as 性别 from teacher" //teacher是表名,teacher_xm,teacher_xm是表项
SqlCommand1.CommandText = strSQL
DataSet11.Clear()
SqlDataAdapter1.Fill(DataSet11)
SqlConnection1,SqlCommand1,SqlDataAdapter1和DataSet11均已设置好,并设置了DataGrid1.DataSource = DataSet11.Table,检索后datagird1可以将“姓名”,“性别”这两个列标题显示出来,但其中的数据为空。
当用鼠标点击“姓名”或者“性别”列标题时,奇怪的现象发生了,检索的数据显示出来了!但每次都要点击列标题才能显示,是什么原因请大家指教!先在这里谢过了!
--------------------编程问答-------------------- 奇怪 --------------------编程问答-------------------- 看不见你的上下文,推测可能是你的代码逻辑顺序上的错误,建议你把代码贴全一点
另外DataSet下面没有Table这个成员,应该是指定
DataGrid1.DataSource = DataSet11.Table(X)
或者DataGrid1.DataSource = DataSet11.Table("表名")
05里面不太清楚,至少03里这样写是显示不出数据的 --------------------编程问答-------------------- 好的,我详细说明一下。例如,我有一个名为teacher的数据库,其中包含两个表teahcer1,teacher2,teacher1中含有ID,姓名,性别表项,teacher2中含有ID,单位,通讯地址(这两个表不能合成一个表),现在我想用SQL语句对两个表进行跨表查询,如:
select 姓名,性别,单位,通讯地址
from teacher1,teacher2
where teacher1.ID=teacher2.ID
然后将检索结果在vb.net的windows form中用一个datagird控件显示出来。我使用了ADO.NET的数据控件来实现,步骤如下:
1、添加窗体form1
2、在窗体上放置控件datagrid1
3、在窗体上放置控件sqlconnection1,将其与数据库teacher连接;
放置控件sqlcommand1,将其connection属性设为sqlconnection1,commandtext属性设为select * from teacher1;---(这样写是想在窗体load时显示teahcer1表中的数据)
放置控件sqldataadaptor1,将其selectcommand属性设为sqlcommand1
通过sqldataadaptor1的右键命令“生成数据集”生成dataset11---(这个时候在“数据源”窗口中出现dataset1,下面就是个名为Table的表,里面的表项是teacher1里的表项)
4、在form1的load事件中写如下代码:
SqlConnection1.ConnectionString = "Data Source=ZHUBAO-50521BCA;Initial Catalog=teacher;Integrated Security=True"
SqlConnection1.Open()
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataSource = DataSet11.Table
5、在button1的click事件中写如下代码:
Dim strSQL As String = select 姓名,性别,单位,通讯地址 from teacher1,teacher2 where teacher1.ID=teacher2.ID
SqlCommand1.CommandText = strSQL
DataSet11.Table.Reset()
'更新数据源
SqlDataAdapter1.Fill(DataSet11)
然后点出按钮进行查询,问题出现了!!!,检索后datagird1可以将“姓名”,“性别”等列标题显示出来,但其中的数据为空。但当用鼠标点击“姓名”或者“性别”列标题时,奇怪的现象发生了,检索的数据显示出来了!但每次都要点击列标题才能显示,请指教下,分不够可以再加,再次感谢
--------------------编程问答-------------------- 我在数据库中使用DataGrid控件,用的挺好的。 --------------------编程问答-------------------- 我也用得挺好 --------------------编程问答-------------------- 你把窗体上除DataGrid1控件外的其他控件全部拿掉,然后按如下代码试试:
--------------------编程问答-------------------- 我来学习一下.
Dim conn As New SqlConnection("Data Source=ZHUBAO-50521BCA;Initial Catalog=teacher;Integrated Security=True")
Dim da As New SqlDataAdapter("select 姓名,性别,单位,通讯地址 from teacher1,teacher2 where teacher1.ID=teacher2.ID", conn)
Dim ds As New DataSet()
da.Fill(ds)
DataGrid1.DataSource = ds.Tables(0)
补充:.NET技术 , VB.NET