CLI/C++dataGridView示例-设置comobox单元格列表的索引

Example of CLI/C++ dataGridView - setting index of comobox cell list

本文关键字:单元格 列表 索引 comobox 设置 C++dataGridView 示例 CLI      更新时间:2023-10-16

我正在尝试在MS CLI/C++中设置一个dataGridView。

简单地说,如果我有一个字母列表(比如a-D(,我想填充dataGridView类型。我想做的是创建一个for循环,用字母填充每个单元格

如具有A的行(0(单元格(0(、具有B的行(O(单元格(1(等

我找不到简单直接的方法。有人能帮忙吗?

我的代码样本在下面

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++;
}
}

}

我找到了实现的解决方案。

我必须定义一个临时小区

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

然后循环浏览列表做到了