我有这种方法
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}
。我需要的信息就在里面。如何从那里以字符串格式获取数据,以便可以在组合框中显示它?
答案 0 :(得分:1)
您必须使用组合框的DisplayMember
和ValueMember
属性,以便您可以绑定所需的属性。
答案 1 :(得分:1)
您可以覆盖ToString
public override string ToString() => ThePropertyOrExpressionToBeDisplayed;
,或者,如果您正在使用数据绑定,请设置ComboBox的DisplayMember
和ValueMember
属性。 DisplayMember
是您要显示的属性。 ValueMember
通常是ID或键属性。您可以通过SelectedValue
访问后者,而可以通过SelectedItem
获取整个对象,并通过SelectedIndex
获取其索引。
请注意,在您的情况下,组合框正在使用ToString
;但是,由于继承自System.Object
的默认实现是返回类型名称,因此无法获得足够的显示。