我有这种方法

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;


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

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

10-06 14:39
查看更多