【问题标题】:Change ComboBox displayed text at runtime WPF在运行时更改 ComboBox 显示的文本 WPF
【发布时间】: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

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    给你的班级一个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}";
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-09-11
      • 2016-05-13
      • 2011-10-13
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 2015-09-14
      • 2016-11-02
      • 1970-01-01
      相关资源
      最近更新 更多