Elc*_*_91 4 c# data-binding crud datarow
许多小时的互联网搜索都没有发现这个问题的明确答案,所以我想我会重新哈希它。我需要将数据行传递给表单,然后将该表单中的控件绑定到数据行中的值。Datarow 是由类方法创建的:
DataRow newRow = cusData.PrimeRecord();
newRow["recordid"] = cusData.GetRecordID();
newRow["recdate"] = DateTime.Now;
newRow["lastmod"] = DateTime.Now;
CusUpdate updateFrm = new CusUpdate(newRow);
Run Code Online (Sandbox Code Playgroud)
其中 PrimeRecord() 方法使用以下代码定义:
public DataRow PrimeRecord(){
DataTable dt = new DataTable();
MySqlCommand cmd = new MySqlCommand("SELECT * FROM "+tableName+" LIMIT 1",sqlConnect);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.FillSchema(dt,SchemaType.Mapped);
DataRow dr = dt.NewRow();
return dr;
}
Run Code Online (Sandbox Code Playgroud)
我所有的数据库 CRUD 代码都已定义,我不想绑定到 DataAdapters 等。我只想将 DataRow 传递给表单,更新数据,然后将其传递给正确的 CRUD 方法。我会接受任何建议。谢谢!
您可以使用Windows Forms. 不幸的是,你不能使用DataRow直接对象(见本注释部分ctor中的Binding类)。改用表格/视图,在表单内:
DataView dv = row.Table.DefaultView;
dv.RowFilter = "recordid=" + row["recordid"].ToString();
dtpRecDate.DataBindings.Add("Value", dv, "recdate");
dtpLastMod.DataBindings.Add("Value", dv, "lastmod");
Run Code Online (Sandbox Code Playgroud)
传递给表单构造函数row的DataRow对象在哪里,dtpRecDate和dtpLastMod是DateTimePicker控件。
| 归档时间: |
|
| 查看次数: |
4128 次 |
| 最近记录: |