Пример CLI / C ++ dataGridView - установка индекса списка ячеек комобокса - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь настроить dataGridView в MS CLI / C ++.

Просто, если у меня есть список букв (скажем, A - D), я хочу заполнить тип dataGridView. я хочу создать цикл for, который будет заполнять каждую ячейку буквой

, например, Row (0), ячейка (0) с A, Row (0), ячейка (1) с B и т. д.

Я не могу найти простой прямой способ сделать это. Может кто-нибудь помочь, пожалуйста

Пример моего кода ниже

int columns = getColumnCount();
int rows = getRowCount();

// Clear existing items
dataGridView1->Columns->Clear();
dataGridView1->Rows->Clear();

DataGridViewComboBoxColumn ^ dataGridComboColumn = gcnew DataGridViewComboBoxColumn;
DataGridViewCell ^ dataGridComboCell = gcnew DataGridViewComboBoxCell;
DataGridViewComboBoxColumn ^ dataGridComboColumn = gcnew DataGridViewComboBoxColumn;

for (int col = 0; col < columns; col++)
{
    //addItemToComboBox(dataGridComboColumn);
    dataGridComboColumn->Items->Add("A");
    dataGridComboColumn->Items->Add("B");
    dataGridComboColumn->Items->Add("C");
    dataGridComboColumn->Items->Add("D");

    dataGridView1->Columns->Add(dataGridComboColumn);
}

for (int row = 0; row < rows; row++)
{
    dataGridView1->Rows->Add(row);
}

dataGridView1->Rows[1]->Cells[1]->Value = dataGridComboColumn->Items[1];


int selectcnt = 0;
for (int row = 0; row < rows; row++)
{
     for (int col = 0; col < columns; col++)
    {
        selectcnt++;
    }
}

}

1 Ответ

0 голосов
/ 04 ноября 2019

Я нашел решение для моей реализации.

Мне нужно определить временную ячейку

DataGridViewComboBoxCell^ tempCell = (DataGridViewComboBoxCell^)dataGridView1->Rows[row]->Cells[col];
if (tempCell != nullptr)
{
    dataGridView1->Rows[row]->Cells[col]->Value = tempCell->Items[selectCnt];
}

и просто прокрутить список. Это помогло

...