1个子表单从多个父表单获取属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1个子表单从多个父表单获取属性相关的知识,希望对你有一定的参考价值。
我可以从1个datagridview形式(FrmItemSearch)的2个父对象(即(FrmMasterItem)和(FrmMasterPackage))中获取查询值,并将所选值传递给其父表单我是C#的新手:)
我已经尝试过从FrmMasterItem获取数据的FrmItemSearch,它可以显示数据,但是我也想从FrmMasterPackage获取数据,所以我只需要1个gridview表单
//this is my MasterItem Form
public partial class FrmMasterItem : Form
public string myQuery get; set;
public FrmMasterItem()
InitializeComponent();
public void SearchItemCode_Click(object sender, EventArgs e)
this.myQuery = "select * from InItemMst";
FrmItemSearch fcd = new FrmItemSearch(this);
fcd.ShowDialog();
//this is my MasterPackage Form
public partial class FrmMasterPackage : Form
public string sQuery get; set;
public FrmMasterPackage()
InitializeComponent();
public void SearchItemCode_Click(object sender, EventArgs e)
this.sQuery = "select * from InPackagehdr";
//i want to get this query on FrmSearchItem
//this is my Item Search Form
public partial class FrmItemSearch : Form
private FrmMasterItem f_mb;
public FrmItemSearch(FrmMasterItem fmb)
f_mb = fmb;
InitializeComponent();
private void FrmItemSearch_Load(object sender, EventArgs e)
mysqlConnection conn = DBUtils.GetDbConnection();
conn.Open();
string query = this.f_mb.myQuery;//this is only MasterItem Data i want to make some selection for MasterPackage here so the Gridview can View MasterPackage data using sQuery Value from FrmMasterPackage
MySqlDataAdapter adapter = new MySqlDataAdapter(query, conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
BindingSource bSource = new BindingSource();
bSource.DataSource = dt;
dataGridView1.DataSource = bSource;
答案
使用Interface定义将类(此处为Form)与另一个类相关的contract
的示例。另一答案
只需按照下面的主表形式声明myQuery变量
另一答案
[我还可以补充一点,在您的表单中添加DAL(数据访问层)或BLL(业务逻辑层)代码是一种不好的做法?我建议为此类代码创建目录和类。
以上是关于1个子表单从多个父表单获取属性的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 选项卡式表单多个 OnCurrent 触发