所以我有一個程式可以從 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
uj5u.com熱心網友回復:
給你的班級一個ToString()
方法
internal class clsFlight
{
public string FlightID { get; set; }
public string FlightNumber { get; set; }
public string AircraftType { get; set; }
public override string ToString()
{
return $"{FlightNumber} - {AircraftType}";
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/537154.html
標籤:C#wpf