在WPF数据网格中发现了一堆关于组合框的其他线程,但没有一个帮助过。
我与MySQL数据库有连接,可以使用表中的行填充数据网格。 XAML:
<DataGrid Name="dataGridxxx" ItemsSource="{Binding}" AutoGenerateColumns="True" Height="279" AutoGeneratingColumn="dataGridxxx_AutoGeneratingColumn">
C#:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string MyConString =
"SERVER=xxx;" +
"DATABASE=xxx;" +
"UID=xxx;" +
"PASSWORD=xxx;";
string sql = "SELECT * FROM xxx ORDER BY lastName";
using (MySqlConnection connection = new MySqlConnection(MyConString))
{
connection.Open();
using (MySqlCommand cmdSel = new MySqlCommand(sql, connection))
{
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);
da.Fill(dt);
dataGridPatients.DataContext = dt;
}
connection.Close();
}
}
现在我在表格中有一个“省”字段,并在MySQL工作台中创建了一个枚举('ON','MB','SK'等)。当我在VS中创建数据连接时,我可以看到VS看到它是枚举类型。我想如果将AutoGenerateColumns设置为true,那么网格是否足够聪明,可以在这些省表格单元格中放置带有枚举值的组合框?那没有发生。它只是一个普通的旧文本字段,maxchars为2 ...
有什么想法吗?我是否必须在项目中创建一个新的DataSet来从我的数据库模式创建C#类?
答案 0 :(得分:0)
正确答案在H.B.的引用帖子中......“不要使用它们”。看来我也是数据库的新手,我不知道处理枚举的正确和标准方法是使用参考表。只需点击几下即可抓住链接:Why MySQL enums are evil