【发布时间】:2022-11-19 08:48:53
【问题描述】:
所以我有一个程序可以从 Microsoft Access 数据库中提取项目并将它们放入列表中。然后返回此列表并将 ComboBox ItemSource 绑定到此返回列表:
主窗口代码:
public partial class MainWindow : Window
{
public MainWindow()
{
clsFlightManager flightManager = new clsFlightManager();
InitializeComponent();
cbChooseFlight.ItemsSource = flightManager.getFlights();
}
}
飞行管理器:
internal class clsFlightManager
{
clsDataAccess da = new clsDataAccess();
public List<clsPassenger> ?lstPassenger;
public List<clsFlight> ?lstFlight;
public List<clsFlight> getFlights()
{
lstFlight = new List<clsFlight>();
int iRet = 0;
string sSQL = clsFlightSQL.getFlights();
DataSet ds = da.ExecuteSQLStatement(sSQL, ref iRet);
foreach (DataRow dr in ds.Tables[0].Rows)
{
clsFlight flight = new clsFlight();
flight.FlightID = dr[0].ToString();
flight.FlightNumber = dr[1].ToString();
flight.AircraftType = dr[2].ToString();
lstFlight.Add(flight);
}
return lstFlight;
}
}
clsFlightSQL 代码:
internal class clsFlightSQL
{
public static string getFlights()
{
string sSQL = "SELECT Flight_ID, Flight_Number, Aircraft_Type FROM FLIGHT";
return sSQL;
}
}
clsFlight代码:
internal class clsFlight
{
public string FlightID { get; set; }
public string FlightNumber { get; set; }
public string AircraftType { get; set; }
}
DataAccess类只是运行SQL语句
我已经运行了调试器,列表中填充了来自数据库的正确信息。但是,ComboBox 显示的文本是 ProjectName.clsFLight。如何更改显示文本以显示列表中的信息(例如 FlightNumber - AircraftType)而不是 ProjectName.clsFlight
【问题讨论】: