我有一个非常有趣的问题......
我有一个表单,我有一个datagridview。从这个数据网格我选择一个对象(在我的情况下是一个药物),当我按下按钮"创建收据"我打电话给我的另一个表单,名为" New Recipet"并且它坚持使用那个表格datagrid
现在的问题是我想在一个"会话中转移更多的对象"比如一张收据表上的更多项目。
以下是FORM1上的代码
private void btnIzdavanjeRacuna_Click(object sender, EventArgs e)
{
hzzoLijekovi selektiraniLijek = hzzoLijekoviBindingSource.Current as hzzoLijekovi;
if (selektiraniLijek != null)
{
using (var db = new appotekaDBEntities())
{
var lijekApoteka = (from l in db.lijekovi
where l.serijskiBroj == selektiraniLijek.serijskiBroj
select l).SingleOrDefault();
if (lijekApoteka == null)
{
MessageBox.Show("Lijek ne postoji u bazi", "Upozorenje");
}
else if (lijekApoteka.kolicina == 0)
{
MessageBox.Show("Lijek ne postoji trenutno na zalihi", "Upozorenje");
}
else
{
FormRacuniNovi noviRacunForma = new FormRacuniNovi(lijekApoteka);
noviRacunForma.Show();
}
}
}
}
抱歉,它的克罗地亚语,但你应该理解逻辑。所以...一切都适用于项目或对象
另一张FORM"我有
private lijekovi lijekNaRacun;
public FormRacuniNovi (lijekovi lnr)
{
InitializeComponent();
lijekNaRacun = lnr;
}
private void FormRacuniNovi_Load(object sender, EventArgs e)
{
lijekoviBindingSource.DataSource = lijekNaRacun;
}
我想我应该转移一个绑定列表,但是我想要逐个传输一个项目,因为否则它会变得复杂(在我到达数据网格之前我还有一些其他查询我要在FORM1上传输)
我该如何解决这个问题?
在第二个FORM,或者我希望在datagrid中有多个项目的表单上,我应该有一个绑定列表,但是在转移 .SIngleOrDefault()时我遇到转换问题对象...
答案 0 :(得分:0)
我认为必须这样做;
更改新的Recipet表单的构造函数,如下所示:
Form1 frm;
public New_Recipet(Form1 sender)
{
frm= sender;
}
在Form1.cs上创建一个函数:
public void CreateRec(string argThatYouNeed,string anOtherArgThatYouNeed)
{
//Do Whatever You Want With Args
}
并在Recipet表单中提交按钮:
frm.CreateRec(arg1,arg2);