假设我有一个添加和编辑按钮。这两个按钮显示相同的表单并在表单内具有相同的保存按钮。当我在单击添加按钮后单击保存时,它会插入到数据库中,当我在单击编辑按钮后单击保存按钮时,它会更新记录。这是可能的还是我必须为此创建一个新的类似表单?
答案 0 :(得分:0)
您应该有一个定义表单的类,其中包含一组字段和一个保存按钮。
表单上的保存按钮不会直接插入数据,而是调用用户输入的数据的事件。
然后您的应用程序创建此表单的一个实例,注册一个事件处理程序并执行它想要的操作(例如插入或更新)
一个非常简单的例子(伪代码):
class FormData {
public string Field1 { get; set; }
public string Field2 { get; set; }
}
class Form {
public Form(FormData data) {
//...
field1.Text = data.Field1;
field2.Text = data.Field2;
}
TextField field1;
TextField field2;
//...
public event EventHandler<FormData> Saved;
void OnButtonClicked() {
var data = new FormData();
data.Field1 = field1.Text;
data.Field2 = field2.Text;
if (Saved != null)
Saved.Invoke(this, data);
}
}
class Application {
void Add() {
//An empty data, since you are creating a new one
var data = new FormData();
//Show your form
var form = new Form(data);
form.Saved += OnAddData;
form.Show();
}
void OnAddData(object sender, FormData data) {
//INSERT into database
}
void Edit() {
//A data pre-filled with the fields of your row
var data = new FormData();
data.Field1 = yourDataFromYourRow1;
data.Field2 = yourDataFromYourRow2;
//Show your form
var form = new Form(data);
form.Saved += OnEditData;
form.Show();
}
void OnEditData(object sender, FormData data) {
//UPDATE into database
}
}