mysql - ¿Cómo debería lanzar un DataTable para asignarlo a DataGrid.ItemsSource?
wpf data-binding (2)
private DataTable GetNewStaffCode()
{
Mod_Staff stafmodules = new Mod_Staff();
staffcode = txtStaffCode.Text.ToString();
DataTable dtstaffcode=stafmodules.GetNewStaffCode(staffcode);
for (int j = 0; j < dtstaffcode.Rows.Count; j++)
{
staffcode ="ST"+ Convert.ToString(j);
}
El mensaje de error es:
Cannot implicitly convert type ''System.Data.DataTable'' to ''string''
Y
Real_Estate_Management_System.StaffEntry.GetNewStaffCode()'': not all code paths return a value D:/Shwe Ain Real Estate Management/Real Estate Management By May Mee Tun/Real_Estate_App/Real_Estate_Management_System/Real_Estate_Management_System/UI/StaffEntry.cs 329 30 Real_Estate_Management_System
txtStaffCode.Refresh();
}
public DataTable GetNewStaffCode(string staffcode)
{
String query = "Select staff_code from tblStaffType";
if (CN.State == ConnectionState.Closed) CN.Open();
SqlCommand cmd = new SqlCommand(query, CN);
DataTable dt = new DataTable();
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(dt);
return dt;
}
Intento aprender WPF y tratar de poblar un WGD DataGrid con datos de una base de datos MySQL. El código relevante es:
dataGrid.DataContext = myMySQL.DBDataSet;
dataGrid.ItemsSource = myMySQL.DBDataSet.Tables[tblName];
dataGrid es un control WPF DataGrid. myMySQL.DBDataSet es un System.Data.DataSet. Recibo el siguiente error en la segunda línea del código anterior.
"No se puede convertir implícitamente el tipo ''System.Data.DataTable'' a ''System.Collections.IEnumerable''. Existe una conversión explícita (¿falta un molde?)"
Sí, probablemente necesito un elenco. Me alegra saber que existe una conversión explícita. ¿Pero cómo determino qué elenco necesito? ''(System.Collections.IEnumerable)'' obviamente no funciona. El tipo de ''ItemsSource'' parece ser ''System.Windows.Controls.ItemsControl''. Pero cast (System.Windows.Controls.ItemsControl) tampoco funciona. No tengo idea de dónde más buscar una explicación de cómo convertir esta DataTable para corregir este error. ¿Me puedes ayudar?
Intente asignar DefaultView of DataTable a ItemsSource.
dataGrid.ItemsSource = myMySQL.DBDataSet.Tables[tblName].DefaultView;