Привязка данных для DataGridViewComboBoxColumn - PullRequest
0 голосов
/ 24 августа 2010

В приведенном ниже коде поле со списком «ConnectionType» показывает выбранный элемент, но нельзя изменить выбранный элемент (кажется, что в поле со списком есть только один элемент). Если я закомментирую строку

typeCol.DataPropertyName = "ConnectionTypeName";

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

Спасибо.

private void LoadConnectionsGrid()
{
    _dc = new EnterpriseEntities();
    dataGridViewConnections.AutoGenerateColumns = false;
    dataGridViewConnections.DataSource = _dc.Connection.Include("ConnectionType");

    DataGridViewComboBoxColumn typeCol =
        (DataGridViewComboBoxColumn)dataGridViewConnections.Columns["ConnectionType"];
    typeCol.DataPropertyName = "ConnectionTypeName";
    var qry = from c in _dc.ConnectionType
              select c.Type;
    typeCol.DataSource = qry;

    DataGridViewTextBoxColumn nameCol =
        (DataGridViewTextBoxColumn)dataGridViewConnections.Columns["ConnectionName"];
    nameCol.DataPropertyName = "Name";

    DataGridViewTextBoxColumn connStrCol =
        (DataGridViewTextBoxColumn)dataGridViewConnections.Columns["ConnectionString"];
    connStrCol.DataPropertyName = "ConnectionString";
}

1 Ответ

0 голосов
/ 25 августа 2010

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

private void LoadConnectionsGrid()
{
    DataGridViewComboBoxColumn typeCol =
        (DataGridViewComboBoxColumn)dataGridViewConnections.Columns["ConnectionType"];
    var qry = from c in _dc.ConnectionType
              select c.Type;
    typeCol.DataSource = qry;

    dataGridViewConnections.Rows.Clear();
    foreach (Connection conn in _dc.Connection.Include("ConnectionType"))
    {
        dataGridViewConnections.Rows.Add(conn.Name, 
            conn.ConnectionType.Type, conn.ConnectionString);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...