私はC#Visual Basic 2017を使用していますが、3つの異なるリストを同時に表示し、これが可能かどうかを知りたいリストボックスを作成しようとしています。リストボックスは現在、 ".datasource ="関数を使用して、各自のリストを表示することができます。各リストは型のクラスですが、これらのクラスはすべて異なりますが、1つのスーパークラスと2つのサブクラスがあります。リストボックスに複数のリストを表示
これは私が命名し、私の形式でリストを満たしているかである:
public partial class formHome : Form
{
// Naming and creating my lists at class level so other classes such as buttons can access the lists
List<Event> events = new List<Event>();
List<Hospitality> hosps = new List<Hospitality>();
List<Conference> confs = new List<Conference>();
public formHome()
{
InitializeComponent();
// Fill Event list
events.Add(new Event(1, new DateTime(2017, 12, 21), new DateTime(2017, 12, 22), "National Glass Centre", 20, 7.50, "Dynamo Kick off Meeting, Dec 2017"));
events.Add(new Event(2, new DateTime(2017, 12, 15), new DateTime(2017, 12, 16), "Winter Gardens Museum", 30, 2.99, "Nature Preservation Meeting"));
events.Add(new Event(3, new DateTime(2018, 1, 5), new DateTime(2018, 1, 6), "Theatre Royal", 120, 5.00, "Traditional Irish Dancing"));
// Fill Hospitality list
hosps.Add(new Hospitality(4, new DateTime(2017, 12, 21), new DateTime(2017, 12, 22), "Stadium of Light", 100, 25.00, "SAFC Charity Auction", false));
hosps.Add(new Hospitality(5, new DateTime(2017, 11, 19), new DateTime(2017, 11, 20), "Empire Cinema", 200, 7.50, "School Cinema Day", true));
// Fill Conference list
confs.Add(new Conference(6, new DateTime(2017, 11, 15), new DateTime(2017, 11, 16), "Marriot Hotel", 400, 5.00, "NHS Christmas Night Out", false, false));
confs.Add(new Conference(7, new DateTime(2017, 12, 31), new DateTime(2018, 1, 1), "Hilton Hotel", 500, 10.00, "Police New Years Eve Meeting", true, true));
confs.Add(new Conference(8, new DateTime(2018, 2, 4), new DateTime(2018, 2, 5), "Stadiun of Light", 1000, 7.50, "Duke of Edinburgh Award", true, true));
confs.Add(new Conference(9, new DateTime(2018, 3, 5), new DateTime(2018, 3, 6), "St.Peters Campus", 500, 0, "Results Day", false, true));
}
イベントは、両方のホスピタリティと会議、接客、会議やイベントの両方のサブクラスのスーパークラスです。
private void btnSeenormal_Click(object sender, EventArgs e)
{
// Clear list box before entering information
liDisplay.DataSource = null;
// Adding list items of type Event to list box
liDisplay.DataSource = events;
}
にはどうすれば同時にすべての3を表示することができ、またはどのように私は1つに3つのリストをマージすることができます?現在、私のリストボックスで、一度に一つのリストを表示するには、このメソッドを使用して
ありがとうございます。
public class Students
{
public string Name { get; set; }
public string Year { get; set; }
}
public class Teachers
{
public string Name { get; set; }
public int TeacherId { get; set;}
}
そして、あなたが見せたいものを明確にしなかったが、簡単なのためにちょうどあなたが選択することができますいくつかの値を示しています。それを次の二つのクラスを使用して例えばビットを簡素化
'hosps.Add'と' confs.Add'の代わりに、 'events.Add'を実行してください。 –
私はこれを行う理由は表示されません。その場合、私は1つのリストしか持たないでしょうし、タイプごとにユーザーに情報を表示するという任務がありました。したがって、通常のイベント、ホスピタリティイベント、会議イベント、およびすべてのイベントを一緒に表示するオプションをユーザーに与える4つのボタンがフォーム上にあります。 –
3つのリストと、ホスピタリティと会議オブジェクトをイベントリストとそれぞれのリストの両方に追加しても、それを維持できます。 –