2
 for(int c =1;c<=author.books.count;c++)             
 {

  string author = author.name.ToString();

  string author = author.book_name.ToString();
  string author = author.published_year.ToString();

  string[] row = new string[]{author, book_name, published_year};
  dataGridView1.Rows.Add(row);
 }

これは私のコードです(同様に)........私は1つのXMLファイルからデータを取得しています. 私の問題は、windows_form.after の gridview でデータを与える 1 つの作成者を選択したときでした。現在選択されている著者データのみを表示したい。

私は次のように試しました:

      dataGridView1.Rows.Clear();

forループの前にこのコードをpgmに入れると、pgm全体で「GridView」にデータさえ与えられません。

私は次のように試しました:

     if (this.dataGridView1.DataSource != null)
      {
          this.dataGridView1.DataSource = null;
      }
     else
     {
       this.dataGridView1.Rows.Clear();
     }

上記と同じように、データは表示されません。

私を助けてください.................

4

2 に答える 2

2

の場合、行をクリアしていますdatasource = null。つまり、データソースがすでに割り当てられている場合、行はクリアされません。あなたの場合はどれですか。

したがって、このようにする必要があります。if 文は必要ありません。

この発言を削除

 if (this.dataGridView1.DataSource != null)

コードは次のようになります

      this.dataGridView1.DataSource = null;
      this.dataGridView1.Rows.Clear();

これは、行をクリアする適切な方法です。

于 2013-08-05T15:00:54.717 に答える
0

xml を dataTable に読み込み、テーブルを datagridview にバインドします。この場合、行の内容をクリアする必要はありません。

datagridview.Rows.RemoveAt(index)それ以外の場合は、または使用できますdatagridview.Rows.Remove(row)

于 2012-05-25T07:13:43.710 に答える