【发布时间】:2012-01-31 20:34:10
【问题描述】:
在 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();
}
}
现在我在表中有一个“Province”字段,并且在 MySQL 工作台中创建了一个枚举('ON'、'MB'、'SK'等)。当我在 VS 中创建数据连接时,我可以看到 VS 认为它是一个枚举类型。我想如果 AutoGenerateColumns 设置为 true,那么网格是否足够智能,可以在这些省表单元格中放置一个带有 DB 枚举值的组合框?那没有发生。这只是一个普通的旧文本字段,maxchars 为 2...
有什么想法吗?我是否必须在我的项目中创建一个新的 DataSet 才能从我的数据库架构创建 C# 类?
【问题讨论】:
-
谢谢!不确定如何将您的“评论”标记为正确答案...所以在下面将其正式化。
标签: c# .net mysql wpf datagrid