我正在尝试在MS CLI / C ++中设置dataGridView。
[如果我有一个字母列表(说A-D),我想填充dataGridView类型。我想做的是创建一个for循环,该循环将用Letter
填充每个单元格如具有A的Row(0)单元格(0),具有B的Row(0)单元格(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];
if ((selectCnt + 1) < m_AvailableMliUltras->size())
{
selectCnt++;
}
else
{
selectCnt = 0;
}
}
这成功了