【发布时间】:2011-01-28 08:38:41
【问题描述】:
我想将文本框绑定到单个 DataRow 对象(传递给对话框进行编辑)。这是我的代码:
DataRow row = myDataTable.NewRow();
EditForm form = new EditForm(row);
//in EditForm constructor
nameTextBox.DataBindings.Add("Text", row, "name");
我得到一个错误:无法绑定到数据源中的属性或列。你知道我错过了什么或任何解决方法吗?
[已添加]
我的 DataTable 肯定包含 ColumnName="name" 的 DataColumn。这是我创建数据表的代码
public DataTable SelectReturnDataTable(string tableName, string sql, params SQLiteParameter[] parameters)
{
using (SQLiteConnection conn = new SQLiteConnection(_connectionString))
{
using (SQLiteCommand cmd = new SQLiteCommand(conn))
{
cmd.CommandText = sql;
foreach (SQLiteParameter p in parameters)
cmd.Parameters.Add(p);
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
DataTable dt = new DataTable(tableName);
conn.Open();
da.Fill(dt);
return dt;
}
}
}
【问题讨论】:
-
“行”是否有“名称”列?
-
你试过用数据表绑定吗?
-
当您想使用 DataRow 时,创建 DataBinding 似乎存在问题。我正在经历同样的事情。我创建了一个 NewRow() 并希望使用它将文本框直接绑定到行的列。然后,当单击“保存”时,我将 DataRow 添加到 DataTable...MS 显然不希望我们这样做。
标签: c# data-binding