DataGridView を使用して、SQLite データベースからデータを表示しています。1 つの列は、行に割り当てられた PDF を開くためのディレクトリです。コードは機能しますが、列のタイトルをクリックするたびにエラーが表示されます。
インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。
実際、列のテキスト (単に「PDF」または他の列のテキスト) をクリックするたびに、そのエラーがスローされます。しかし、テキストの外側 (順序ボックス内の任意の場所) をクリックすると、列が並べ替えられますが、これは問題ありません。何か案は?
コードは機能し、PDF を開きますが、ユーザーが誤ってタイトル テキストをクリックしてプログラムがクラッシュすることは望ましくありません。これは、pdfを開くためのdatagridviewのコードです。
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
string filename = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();
if (e.ColumnIndex == 3 && File.Exists(filename))
{
Process.Start(filename);
}
}