Хранить временные данные в DataGridView C # - PullRequest
1 голос
/ 15 февраля 2012

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

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

У меня есть отдельная кнопка, которая добавит их все, когда пользователь нажмет кнопку отправки.

Есть ли примеры ??предложения?Спасибо

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Вы можете привязать DataGridView к списку объектов.

Ниже приведен мой тестовый код (winsform 2010 winform):

    public class Location
    {
        public int X { set; get; }
        public int Y { get; set; }
    }

    private void button1_Click(object sender, EventArgs e)
    {
          List<Location> locations1 = new List<Location>()
            {
                new Location(){X= 100, Y = 200},
                new Location(){X= 300, Y = 400},
                new Location(){X= 600, Y = 500},
                new Location(){X= 700, Y = 800}    
            };

          dataGridView1.DataSource = locations1;
    }

Если вы хотите, чтобы изменение в DataGridView былоотражено в источнике данных.Вы должны связать переменную члена класса вместо локальной переменной.

0 голосов
/ 15 февраля 2012

Да. Сначала вы должны сохранить данные в объекте, который может понять представление данных. Например:

using System.Data;
DataTable table = new DataTable(); // <-- temp. in memory table of data
table.Columns.Add("col1");
table.Rows.Add("some data");
table.Rows.Add("some more data");
table.Rows.Add("and more");
myDataGridView.DataSource = table;
myDataGridView.DataBind();

Сетка будет отображать один столбец и одну строку данных.

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