用来自MySQL C#的数据列表填充组合框

时间:2018-10-06 15:00:14

标签: 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}。我需要的信息就在里面。如何从那里以字符串格式获取数据,以便可以在组合框中显示它?

2 个答案:

答案 0 :(得分:1)

您必须使用组合框的DisplayMemberValueMember属性,以便您可以绑定所需的属性。

答案 1 :(得分:1)

您可以覆盖ToString

public override string ToString() => ThePropertyOrExpressionToBeDisplayed;

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

请注意,在您的情况下,组合框正在使用ToString;但是,由于继承自System.Object的默认实现是返回类型名称,因此无法获得足够的显示。