2011-09-15 6 views
4

単一のヒットで、データグリッドからすべての列を削除することは可能ですか?Datagridviewすべての列を削除

私はループを起こして1つずつ削除したり、すべてを削除して作成することができます。

しかし、列をクリアしてグリッドをそのまま残しておけば、ユーザーは新鮮な状態から始めることができます。 、つまり元の状態に戻します。ここ

OK

私は

private void PopulateGrid() 
    { 
     UserVGrid.AutoGenerateColumns = false; 
     UserVGrid.Columns.Clear(); 
     List<string> _values = populate.GetVaribles; 
     foreach (var line in _values) 
     { 
      if (!line.Contains("Startind")) 
      { 
       string[] newline = line.Split('='); 
       DataGridViewColumn newColumn = new DataGridViewTextBoxColumn(); 
       newColumn.Name = newline[0]; 
       newColumn.HeaderText = newline[1]; 
       newColumn.ToolTipText = newline[2]; 
       UserVGrid.Columns.Add(newColumn); 

      } 
     } 

を持っているコードはそう_valuesとさせて頂きますされたら、この方法を実行している

値と私はリンゴと梨という名前の2つのcolumsでデータグリッドを得るようリンゴ、梨を持っています。

今回は2回目の値は_values containg char、tableです。
そして私はリンゴ、洋ナシ、椅子、テーブルの4つの列で終わります。私が望むのは、それがグリッドの拳をクリアしてから新しい列を適用したときです。

乾杯

アーロン

答えて

20

DataGridView列コレクションはクリア()メソッドを持っています。

dataGridView1.Columns.Clear(); 

これはバウンドのDataGridViewと自動生成された列では動作しません - そのような場合には、単にヌルまたは空のデータソースとデータソースを置き換える:

dataGridView1.DataSource = null; 

または自動生成をオフにして、列を作成しますコード内:

dataGridView1.AutoGenerateColumns = false; 
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn(); 
dataGridView1.Columns.Add(col); 

これらの手動生成列は、Clear()メソッドで削除されます。

+0

グリッドをそのまま残して、すべてのデータを削除しようとしていますか?グリッドを元の状態に戻すことを求める質問の部分はあまり明確ではありませんでした。 –

+0

申し訳ありませんが、私が実際にやりたがっているのは、その中のデータだけでなく、それ自身を取り除くことです。基本的に、データビューはテキストファイルの設定から取り込まれます。現時点では、私はそれを2回開いて重複を取得します。だから私はいくつかのコードは、データビュー内のすべての現在の列を削除したい。 – DevilWAH

+1

@DevilWAHその場合、私の答えはあなたが欲しいものを正確に行います - 自動生成された列の周りに明白な警告があります –

0

は、ここで私

List<string> lstOverride = new List<string>(); 
       lstOverride.Add("IssuerOnly"); 
       lstOverride.Add("TickerOnly"); 
       lstOverride.Add("All"); 
       lstOverride.Add("Private Equity"); 
       lstOverride.Add("Ignore"); 
       DataGridViewComboBoxColumn cmb = new  DataGridViewComboBoxColumn(); 
       cmb.HeaderText = "Override"; 
       cmb.Name = "cmb"; 
       cmb.DataSource = lstOverride; 
       cmb.DataPropertyName = "Override"; 
       dgvWebData.Columns.Add(cmb); 

のために働いていた私はDataGridViewComboBoxColumnを追加し、私は、ドロップダウンを持っているために必要な列にのDataPropertyNameを設定していたものです。

0

クリアデータテーブル

If ds.Tables.Count > 0 Then 
    ds.Tables(0).Columns.Clear() 
    ds.Tables(0).Rows.Clear() 
End If 

と何も

dg.DataSource = Nothing 
0

にDataGridViewのデータソースを設定するDataGridViewの列を除去するため、あなたは "P_Commentは、" 列名

 dataGridView1.Columns.Remove("p_Comment"); 
であることのように行うことができます

、すべての列を削除する場合は

dataGridView1.Columns.Clear(); 
関連する問題