相信我,我用Google搜索了它 . 很明显,win-forms上使用的C#代码由于半明显的原因而无法在C#WPF上运行 . 但是,如何使用数据网格中的修改或全新数据填充MYSQL表格并不明显 . 它反过来工作得很好(用MYSQL数据填充数据网格) .
private void Save_Click(object sender, RoutedEventArgs e)
{
string sqlcon = "datasource = localhost; port = 3306; username = root; password = Avalisque";
string queryadd = "insert into users.login (user_name,pass_word,gender,first_name,second_name,third_name,surname,security_question,answer);";
MySqlConnection con = new MySqlConnection(sqlcon);
MySqlCommand cmd = new MySqlCommand(queryadd, con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
con.Open();
cmd.ExecuteNonQuery();
DataTable dt = new DataTable("login");
da.Fill(ds);
DG.datasource = ds.Tables[0];
da.Update(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
(DG是数据网格) . 这是错误消息:
'System.Windows.Controls.DataGrid'不包含'datasource'的定义,并且没有扩展方法'datasource'接受类型为'System.Windows.Controls.DataGrid'的第一个参数(您是否缺少using指令或程序集引用?)
任何形式的帮助非常感谢 . 有点绝望在这里 . 拜托,谢谢 .
2 回答
我想你在找
DG.ItemsSource = ds.Tables[0].AsEnumerable();
您收到该错误,因为System.Windows.Controls.DataGrid没有名为
datasource
的属性 .DataTableExtensions.AsEnumerable向您展示如何将DataTable转换为T:DataRow的Enumarable
我认为你有一个属性ItemsSource .
另外不要忘记wpf适用于mvvm模式 . 实际上,您的itemsource可能应该是viewModel中可用的ObservableCollection .