日期:2014-05-19  浏览次数:20884 次

WINFORM的问题,ADO.NET如何在设计时引用另一个窗口的数据集??
我记得作DELPHI时一个窗体要引用另一个窗体的数据集,很方便.

只要:
uses   FormA;

就可以直接在控件上绑定这个数据集了.

现在c#大大的不同了,能不能在设计时引用另一个窗口的数据集呢?使两个窗体共用一个数据集?

------解决方案--------------------
forma
public static DataSource asource

other form

forma.asource
------解决方案--------------------
C#中,所有的东西都要当作对象,你要使用别的窗口的数据,那么就要建立你要引用的窗口对象,或者可以建立一个公共的数据集来进行调用
------解决方案--------------------
建立一个public的数据集阿
------解决方案--------------------
你在第二个窗口show之前,设定第二个窗口为第一个窗口所用,这样两个窗口就可以互想访问了呀,你可以到我的博客里看一下我的记本的查找功能的做法可能对你会有一定的帮助呀。
------解决方案--------------------
可以的,你这样做:(假设一个项目里有窗体a,b),在a里面有一个combobox控件,你在属性窗口里找datasource,你可以能过这个添加数据源,添加完之后,这个dataset就是一个公共的了,是属于项目的,都可以调用
------解决方案--------------------
建一个专门放置数据集的类
------解决方案--------------------
建议LZ用单件模式设计一个类,这样比校符合面向对象的原则。以下是一个示例
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;


namespace MyDataset
{
/// <summary>
/// database 的摘要说明。
/// </summary>
public class database
{
//volatile
private static volatile database db = null;
private static object lockHelp = new object();

private DataSet ds = null;

private database()
{
//
// TODO: 在此处添加构造函数逻辑
//
ds = new DataSet();
}

public static database DB
{
get
{
if (db == null)
{
lock (lockHelp)
{
if (db == null)
db = new database();
}
}
return db;
}
}

public DataSet DS
{
get
{
return ds;
}
}

}
}