Превращение коллекции в сетку данных - PullRequest
2 голосов
/ 23 августа 2010

Итак, у меня есть коллекция, которая у меня есть в списке прямо сейчас, которая отображает каждый элемент в коллекции.Я хочу превратить список в вид сетки, чтобы я мог добавить флажки и другие выпадающие списки.Я не могу найти учебник, который объясняет, как это сделать.

Например, в моей коллекции 2 предмета, каждый предмет имеет несколько столбцов.

  • [0] 747 Jet
    • [0] Количество пассажиров: 417
    • [1] Первый рейс: 1967
  • [0] A380
    • [0] Количество пассажиров: 853
    • [1] Первый рейс: 2005

Прямо сейчас мойlistbox использует этот код

foreach (AMAPnr.Airplane airElement in AMAPnr.Airplanes)
{
    lstPlanes.Items.Add(
        "PassengerAmount: " + airElement.Passenger + " First Flight:" +
         airElement.FirstFlight.ToString());
}

Как мне изменить это в gridview?

Ответы [ 2 ]

2 голосов
/ 23 августа 2010

Обновление: ОП уточнил, что они выбрали неправильные теги, и это на самом деле было для WinForms.

Если вы добавите DataGridView в вашу форму, а затем добавите следующеекод в ваших формах codebehind, это работает удовольствие:

private class Airplane
{
    public string AirplaneName { get; set; }
    public int PassengerAmt { get; set; }
    public int FirstFlight { get; set; }
}

public Form1()
{
    InitializeComponent();

    var planes = new List<Airplane>();
    planes.Add(new Airplane() { AirplaneName = "747 Jet", PassengerAmt = 417, FirstFlight = 1967 });

    dataGridView1.DataSource = planes;

}

Я использовал собственный класс Airplane, чтобы показать этот пример: я не знаю точно, как структурирован ваш код, и мне было легчепуть.Вы должны быть в состоянии относительно легко подключить свой тип данных.

1 голос
/ 23 августа 2010
    public IEnumerable<AMAPnr.Airplane> getItems(Planes)
    {
        foreach (AMAPnr.Airplane airElement in Planes)
        {
            yield return airElement;
        }
        yield break;
    }

Тогда просто сделайте myDataGrid.DataSource = getItems(AMAPnr.Airplanes);

Вы также можете просто сделать myDataGrid.DataSource = lstPlanes;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...