如何从另一个表单访问数据表 [英] How to access a datatable from another form

查看:70
本文介绍了如何从另一个表单访问数据表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想以包含数据网格视图控件的另一种形式访问填充数据表。但是它不会获取数据。我在函数内的模块上定义它

I wanted to access a filled data table in another form containing a data gird view control.But it doesn't fetch data. i defined it on a module inside a function

da = New OleDbDataAdapter(cmd)
result = New DataTable da.Fill(result)



在另一张表格上


on another form

If radmaterial.Checked = True 
Then 
dtgResult.DataSource = Module2.result dtgResult.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells 
End If

推荐答案

检查出来

您的答案就在这里 [


首先,如果你想在表单之间传递数据,请使用 SearchBox [ ^ ]找到合适的文章。他们中的大多数使用C#,但它很容易理解并将C#代码转换为VB.NET。



其次,要解决如何访问在其他过程中创建的对象/函数,请阅读: Microsoft .NET中的变量和方法范围 [ ^ ]



最后,我建议你使用接口 [ ^ ]在对象之间通信。
First of all, if you want to pass data between forms, please, use SearchBox[^] to find proper articles. Most of them uses C#, but it's easy to understand and convert C# code to VB.NET.

Secondly, to undestand how to access to objects created in other procedure/function, please, read about: Variable and Method Scope in Microsoft .NET[^]

Finally, i would suggest you to use Interfaces[^] to "communicate" between objects.


这是我在vb.net上做的伪代码

声明一个共享(公共变量)数据表和绑定来源。

Ex





Here is what i do on vb.net Pseudo Code
Declare a shared(public variable) datatable and a binding source.
Ex


'Shared Class
Public Class SharedClass
 Public Shared Dt as new Datatable
 Public Shared Bs as new BindingSource
End Class

'On your form1
Public Class Form1
 Sub LoadData()
  SharedClass.Dt.Clear
  SharedClass.Dt = (Your Source...)
  SharedClass.Bs.DataSource = SharedClass.Dt
  Datagridview1.Datasource = SharedClass.Bs
 End Sub

End Class

'On your form2
Public Class Form2
 Sub LoadData()
  Datagridview2.DataSource = SharedClass.Bs
 End Sub

End Class





使用BindingSource将同步两个datagridviews。无论你在form1上选择哪一行都会反映在form2上。如果你添加,编辑form2 datagridview上的delete并调用sharedClass.Dt.AcceptChanges方法将反映在Form1 datagridview上。



Using BindingSource will Syncronize the two datagridviews. Whatever row you selected on form1 will reflect on form2. if you add,edit delete on form2 datagridview and call sharedClass.Dt.AcceptChanges method will reflect on Form1 datagridview.


这篇关于如何从另一个表单访问数据表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆