4

许多小时的互联网搜索没有发现这个问题的明确答案,所以我想我会重新散列它。我需要将数据行传递给表单,然后将该表单中的控件绑定到数据行中的值。Datarow 是由一个类方法创建的:

DataRow newRow = cusData.PrimeRecord();
newRow["recordid"] = cusData.GetRecordID();
newRow["recdate"] = DateTime.Now;
newRow["lastmod"] = DateTime.Now;
CusUpdate updateFrm = new CusUpdate(newRow);                    

其中 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;
}

我所有的数据库 CRUD 代码都已定义,我不想绑定到 DataAdapters 等。我只想将 DataRow 传递给表单,更新数据然后将其传递给正确的 CRUD 方法。我会接受任何建议。谢谢!

4

1 回答 1

5

您可以使用Windows Forms. 不幸的是,您不能直接使用该对象(请参阅该类的DataRow备注部分)。改用表格/视图,在表单内:ctorBinding

DataView dv = row.Table.DefaultView;
dv.RowFilter = "recordid=" + row["recordid"].ToString();
dtpRecDate.DataBindings.Add("Value", dv, "recdate");
dtpLastMod.DataBindings.Add("Value", dv, "lastmod");

传递给表单构造函数row的对象在哪里,并且是控件。DataRowdtpRecDatedtpLastModDateTimePicker

于 2013-03-23T14:03:17.853 回答