我使用3层应用程序。我创建了数据访问层和业务层。如何将其与View层上的Datagrid绑定?
public partial class Magasinier : Form
{
Magasinier_BL oMag_BL = new Magasinier_BL();
public Magasinier()
{
InitializeComponent();
GetDataOrdre();
}
public void GetDataOrdre()
{
dataGridView_Mag.DataSource = oMag_BL.Get_All_Magasinier_BL();
dataGridView_Mag.DataMember = "MagTable";
}
}
private void Del_Mag(object sender, DataGridViewRowCancelEventArgs e)
{
if (!e.Row.IsNewRow)
{
DialogResult res = MessageBox.Show("Etes-vous sûr de vouloir supprimer cette ligne ?", "confirmation suppression",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (res == DialogResult.No)
{
e.Cancel = true;
}
else
{
oMag_BL.DelMag_BL(e.Row.Cells["CODE_MAG"].Value.ToString());
}
}
}
我完成了阅读和删除,但没有创建和更新。
顺便说一句,如何将这些创建和更新连接到我的businnes图层,如何检索新行值或CHANGE行值。
这些我在ASP.NET中所做的:创建
protected void Insrting_Obj_ClientMag(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
Pers_Magasinier oPersMag = new Pers_Magasinier();
oPersMag.NoClient = Id;
oPersMag.CodeMag = e.NewValues["CODE_MAG"].ToString();
oPersMag.NomUsr = e.NewValues["NOM"].ToString();
oPersMag.PrenomUsr = e.NewValues["PRENOM"].ToString();
oPersMag.MemoMag = e.NewValues["MEMO"].ToString();
oMag_BL.InstUpdtMag_BL(oPersMag, true);
//To Stop processing Gridview
ASPxGridView_Mag.CancelEdit();
e.Cancel = true;
//Rebind donne
GetDataMags();
}
并更新:
protected void Updting_Obj_ClientMag(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
{
Pers_Magasinier oPersMag = new Pers_Magasinier();
oPersMag.NoClient = Id;
oPersMag.CodeMag = e.NewValues["CODE_MAG"].ToString();
oPersMag.NomUsr = e.NewValues["NOM"].ToString();
oPersMag.PrenomUsr = e.NewValues["PRENOM"].ToString();
oPersMag.MemoMag = e.NewValues["MEMO"].ToString();
oMag_BL.InstUpdtMag_BL(oPersMag, false);
ASPxGridView_Mag.CancelEdit();
e.Cancel = true;
GetDataMags();
}
现在我怎么能在WinForm中做到这一点?
提前谢谢你
答案 0 :(得分:1)
更新: 要使Create / Update正常工作,通常使用Grid RowEditTemplate控件(基本上是另一个WinForm,它允许您进行额外的验证并创建/更新现有值)。 Infragistics很好。
你可能需要修复你的标签,因为你在谈论ASP而不是WinForms。
我正在使用Telerik的Grid和ASP MVC 2 atm。通过将数据序列化到ViewModel中,您可以在控制器中使用ViewModel(大部分时间都不必乱用Request.Params)。