相信我,我用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'的第一个参数'(你错过了使用指令或汇编引用吗?)
任何形式的帮助都非常感谢。有点绝望在这里。拜托,谢谢。
答案 0 :(得分:0)
我认为您正在寻找DG.ItemsSource = ds.Tables[0].AsEnumerable();
您收到该错误是因为System.Windows.Controls.DataGrid
没有名为datasource
的属性。
DataTableExtensions.AsEnumerable向您展示如何将DataTable变成Enumarable,其中T:DataRow
答案 1 :(得分:0)
我认为你有一个属性ItemsSource。
另外不要忘记wpf适用于mvvm模式。实际上,您的itemsource可能应该是viewModel中可用的ObservableCollection。