c # DataGridViewTextBoxColumn значение установлено - PullRequest
0 голосов
/ 27 апреля 2018

У меня очень сложная ситуация, я надеюсь, что смогу изобразить.

Итак, у меня есть сетевое представление, которое выглядит так:

DataTable dt = new DataTable();    
dataGridViewFood.AutoGenerateColumns = false;

dt.Columns.Add("date", typeof(string));
dt.Columns.Add("food", typeof(int));

DataGridViewTextBoxColumn date = new DataGridViewTextBoxColumn();
date.HeaderText = "date";
date.DataPropertyName = "date";

DataGridViewComboBoxColumn name = new DataGridViewComboBoxColumn();
var list11 = new List<String>() { "food1", "food2", "food3" }; // here later I'll use a mysql select query to fill the list
name.DataSource = list11;
name.HeaderText = "food";
name.DataPropertyName = "food";

dataGridViewFood.DataSource = dt;
dataGridViewFood.Columns.AddRange(date, name);

dataGridViewFood.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

И проблема в том, что столбец "food" имеет тип int, потому что я храню значения в своей базе данных как int (и у меня есть другая таблица, которая определяет, какое число означает, что такое еда).

И если я попытаюсь заполнить сетку данных следующим образом:

[...]
reader = commandDatabase.ExecuteReader();
while (reader.Read())
{
    dt.Rows.Add(new object[] { reader.GetString(0), reader.GetInt32(1) });
}

DataGridViewTextBoxColumn не может установить правильное значение. Итак, что мне нужно, если «reader.GetInt32 (1)» для ex 1, я хочу установить в выпадающем списке «food2» и т. Д.

Заранее спасибо!

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