gpt4 book ai didi

c# - 将数据行传递给表单并将控件绑定(bind)到它

转载 作者:行者123 更新时间:2023-11-30 15:34:58 25 4
gpt4 key购买 nike

经过数小时的互联网搜索,没有找到关于这个问题的明确答案,所以我想我会重新讨论它。我需要将数据行传递给表单,然后将该表单中的控件绑定(bind)到数据行中的值。数据行是由类方法创建的:

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 代码都已定义,我不想绑定(bind)到 DataAdapter 等。我只是想将 DataRow 传递给表单,更新数据,然后将其传递给正确的 CRUD 方法。我会接受任何建议。谢谢!

最佳答案

您可以使用 Windows 窗体 的数据绑定(bind)功能。遗憾的是,您不能直接使用DataRow 对象(请参阅Binding 类的ctor 的备注部分)。在表单内改用表/ View :

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

其中 row 是传递给表单构造函数的 DataRow 对象,dtpRecDatedtpLastModDateTimePicker控制。

关于c# - 将数据行传递给表单并将控件绑定(bind)到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15587369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com