【发布时间】:2014-10-09 14:19:20
【问题描述】:
我正在使用 DataGridView 来显示来自 SQLite 数据库的数据。一列是打开分配给该行的 pdf 的目录。该代码有效,但是每次我单击列标题时,都会出现错误:
索引超出范围。必须为非负数且小于集合的大小。
实际上,每当我单击列文本(只是“PDF”或任何其他列的文本)时,都会引发该错误。但是当我在文本之外(在排序框中的任何位置)单击时,它会重新排序我的列,这没关系。有什么想法吗?
代码有效,打开 PDF,但我不希望用户不小心单击标题文本而导致程序崩溃。这是datagridview打开pdf的代码。
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);
}
}
【问题讨论】:
标签: c# winforms datagridview indexoutofrangeexception