我想将文本框绑定到单个DataRow对象(传递给对话框表单进行编辑).这是我的代码:
DataRow row = myDataTable.NewRow();
EditForm form = new EditForm(row);
//in EditForm constructor
nameTextBox.DataBindings.Add("Text", row, "name");
Run Code Online (Sandbox Code Playgroud)
我得到一个错误:无法绑定到DataSource中的属性或列.你知道我错过了什么或者可能有任何变通方法吗?
[添加]
我的DataTable肯定包含DataName = ColumnName ="name"的DataColumn.这是我创建DataTable的代码
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试重现此问题(使用 VS 2008 SP1),如果该行的名称列中包含空数据,则会收到 InvalidCastException,但程序会继续运行。
为了得到和你一样的异常,我必须在绑定时弄错列名。所以我觉得有必要重复@Henk的问题,或者要求你展示如何创建数据表。
| 归档时间: |
|
| 查看次数: |
10301 次 |
| 最近记录: |