.net无法在运行时编辑Datagridview中的值

时间:2011-01-28 19:15:26

标签: .net visual-c++ datagridview

我创建了一个未绑定的DatagridView,它们在运行时手动输入,并且应该是可编辑的。

使用命令DataGridView-&gt; Rows-&gt; Add(string,..)它可以正确地创建行,但它不允许我手动编辑值,即使它不是“只读”。< / p>

The code used for input:


    private: System::Void ButtomSave_Click(System::Object^  sender, System::EventArgs^  e) {     

  String^ folderName;
/*DataGridViewComboBoxColumn^ cmbCol = gcnew DataGridViewComboBoxColumn;
cmbCol->HeaderText = "Sagital/Coronal";
cmbCol->Items->Add("-");
cmbCol->Items->Add("Sagital");
cmbCol->Items->Add("Coronal");
dataGridView1->Columns->Add(cmbCol);*/
  FolderBrowserDialog^ folderBrowserDialog1 = gcnew FolderBrowserDialog;
  folderBrowserDialog1->Description="Select the folder containing the image sequences folder";
  // Do not allow the user to create new files via the FolderBrowserDialog.
  folderBrowserDialog1->ShowNewFolderButton = false;  
    // Default to the My Documents folder.
  folderBrowserDialog1->RootFolder = Environment::SpecialFolder::Personal;
  if ( folderBrowserDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
    {
      folderName = folderBrowserDialog1->SelectedPath;
      array<String^>^subdirectoryEntries = Directory::GetDirectories( folderName );
   DataGridViewRow row;
      System::Collections::IEnumerator^ myEnum = subdirectoryEntries->GetEnumerator();
      while ( myEnum->MoveNext()){

        dataGridView1->Rows->Add(myEnum->Current,"Sagital");  

      }
    }
}

我的应用程序是使用C ++语言的Windows Forms编写的。

提前致谢

2 个答案:

答案 0 :(得分:1)

问题解决了。我必须将整个datagridview设置为“只读”(我熟悉Qt)。

为了澄清我自己的问题,要使datagridview单元格可编辑,请右键单击它,然后是属性 - >行为部分 - &gt; ReadOnly-&gt; False(默认情况下为True)。

感谢您的回复

答案 1 :(得分:0)

你真的可以在行中添加一个字符串吗?您是否必须创建要添加到集合的Row对象?