【问题标题】:Example of CLI/C++ dataGridView - setting index of comobox cell listCLI/C++ dataGridView 示例 - 设置组合框单元格列表的索引
【发布时间】:2020-02-29 07:51:32
【问题描述】:

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

如果我有一个字母列表(比如 A - D),我想填充 dataGridView 类型。我想要做的是创建一个 for 循环,它将用一个字母填充每个单元格

比如 Row(0) Cell(0) 和 A,Row(0) Cell(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++;
    }
}

}

【问题讨论】:

    标签: c++ datagridview command-line-interface datagridviewcombobox


    【解决方案1】:

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

    我必须定义一个临时单元格

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

    然后循环浏览列表 这成功了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多