6

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

ループして 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 が値としてリンゴ、ナシを持っていると仮定しましょう

このメソッドを 1 回実行すると、apple と pear という名前の 2 つの列を持つデータグリッドが得られます。

今回は _values を含む char 、 table でもう一度実行します。
そして、リンゴ、ナシ、椅子、テーブルの 4 つの柱ができあがります。私が望むのは、2回目の実行時にグリッドの拳をクリアしてから、新しい列を適用することです。

乾杯

アーロン

4

5 に答える 5

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

于 2015-08-06T12:44:05.283 に答える
0

これにより、データグリッドビューからすべてのデータと列ヘッダーを削除できました

            ds2.Tables.Clear();
            dataGridView1.DataSource = null;
            dataGridView1.Columns.Clear();
于 2020-12-16T21:57:02.943 に答える