私はSAXを使用してWindowsフォームのボタンをクリックしてデータベースから請求書XML文書を生成しようとしていますが、「インデックスが範囲外です非負でコレクションのサイズより小さくなければなりません。 "私は何が間違っているのか分かりません。ここで問題とされているコード:[1]:あなたの質問に関してはhttps://i.stack.imgur.com/UsJdG.pngXMLエラーを生成します。追加情報:索引が範囲外です。負でなく、コレクションのサイズより小さくなければならない
var productID = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
var productName = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
wrt.WriteElementString("ItemID",productID);
wrt.WriteElementString("ItemName", productName);
エラーはいつ発生しますか?それはどんな出来事ですか?私は、コントロールが構築されているときに、このようなエラーをフォームで見たことがあります。 DGV行は、列が追加されてから0に設定されるまで、最初は-1に設定されます。この変更により、DGVイベントが呼び出されます。したがって、例外を防ぐイベントでは、行数が0より大きいかどうかをテストする必要があります。 – jdweng
@jdweng var productID = dataGridView1.SelectedRows [0] .Cells [0] .Value.ToString();でエラーが発生します。 – randomstudent
@jdweng Err私は行の数が0より大きいかどうかをテストすることで何を意味するのか本当に分かりませんか? – randomstudent