c# - 使用 mysql c# 中的数据列表填充组合框

标签 c# mysql dapper

我有这个方法

public List<Trgovina> getAllStores()
{
    using (IDbConnection connection = new MySqlConnection(Helper.CnnVal("dbConn")))
    {
        return connection.Query<Trgovina>("TrgovineViewAll", null,
                commandType: CommandType.StoredProcedure
            )
            .ToList();
    }
}

它从数据库中获取所有商店信息。启动时调用的方法

public MainWindow()
{
    InitializeComponent();

    List<Trgovina> stores = new List<Trgovina>();
    stores = da.getAllStores();
    comboxStoreNames.ItemsSource = stores;
}

存储充满了数据。尽管数据不是我需要的格式。它仅显示 {Project_Budget.Engine.Trgovina}。我需要的信息就在里面。如何以字符串格式从那里获取数据,以便我可以在组合框中显示它?

最佳答案

您可以覆盖ToString

public override string ToString() => ThePropertyOrExpressionToBeDisplayed;

或者,如果您使用数据绑定(bind),请设置 ComboBox 的 DisplayMemberValueMember 属性。 DisplayMember 是您要显示的属性。 ValueMember 通常是一个 Id 或键属性。您可以通过 SelectedValue 访问后者,而您可以通过 SelectedItem 获取整个对象,并通过 SelectedIndex 获取其索引。

请注意,在您的情况下,ComboBox 使用的是 ToString;但是,由于从 System.Object 继承的默认实现是返回类型名称,因此您没有获得足够的显示。

关于c# - 使用 mysql c# 中的数据列表填充组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680318/

相关文章:

mysql - 新的 SQL 列,在创建新行时具有重复值?

C# Dapper - 这个 MySql 有什么问题?

c# - 如果条件在 linq

c# - JsonSerializer.Deserialize 失败

mysql - SQL - 查找具有未知但略有相似值的行?

javascript - 点击mysql按钮后隐藏div

orm - dapper 中的多重映射是否关心 sqlstr 的列顺序?

c# - Dapper 参数不起作用

c# - 根据运行时变量的类型创建通用类

c# - 需要一种方法来引用同一个第 3 方 DLL 的 2 个不同版本