Visual c++ C+中的Gridview+;windows窗体应用程序无法编辑

Visual c++ C+中的Gridview+;windows窗体应用程序无法编辑,visual-c++,datagridview,Visual C++,Datagridview,我不确定我是否遗漏了什么,但就我的一生而言,我无法使网格可编辑 我所做的就是将一个文件加载到一个字典,然后将该字典绑定到网格 网格显示字典中的数据,但我无法编辑网格中的任何数据 Dictionary<String^, String^>^ data = gcnew Dictionary<String^, String^>(); BindingSource^ bindingSource1 = gcnew BindingSource(); // Read and displa

我不确定我是否遗漏了什么,但就我的一生而言,我无法使网格可编辑

我所做的就是将一个文件加载到一个字典,然后将该字典绑定到网格

网格显示字典中的数据,但我无法编辑网格中的任何数据

Dictionary<String^, String^>^ data = gcnew Dictionary<String^, String^>();
BindingSource^ bindingSource1 = gcnew BindingSource();

// Read and display lines from the file until the end of the file is reached.
while ( line = sr->ReadLine() )
{
  array<String^>^split = line->Split( chars );    
  data->Add(split[0], split[1]);
}


dataGridView1->DataSource = bindingSource1;
bindingSource1->DataSource = data;

dataGridView1->AutoResizeColumns( DataGridViewAutoSizeColumnsMode::AllCells);
我也尝试过改变模式:

  • 编辑员
  • 编辑击键
  • 还有娜达

    有什么想法吗?PS:我在C++中没有做很多GUI工作,所以我可能忽略了一些东西。 下面是我如何加载网格的

    Dictionary<String^, String^>^ data = gcnew Dictionary<String^, String^>();
    BindingSource^ bindingSource1 = gcnew BindingSource();
    
    // Read and display lines from the file until the end of the file is reached.
    while ( line = sr->ReadLine() )
    {
      array<String^>^split = line->Split( chars );    
      data->Add(split[0], split[1]);
    }
    
    
    dataGridView1->DataSource = bindingSource1;
    bindingSource1->DataSource = data;
    
    dataGridView1->AutoResizeColumns( DataGridViewAutoSizeColumnsMode::AllCells);
    
    Dictionary^data=gcnewdictionary();
    BindingSource^bindingSource1=gcnew BindingSource();
    //读取并显示文件中的行,直到到达文件末尾。
    而(line=sr->ReadLine())
    {
    数组^split=line->split(字符);
    数据->添加(拆分[0],拆分[1]);
    }
    dataGridView1->DataSource=bindingSource1;
    bindingSource1->DataSource=数据;
    dataGridView1->AutoResizeColumns(DataGridViewAutoSizeColumnsMode::AllCells);
    

    提前谢谢。

    我发现了问题。您必须使用可更新的源,而字典不可更新

    一旦我切换到DataTablew,问题就解决了