这个问题是相当自我解释的,但无论如何都是这样:
用户双击他要搜索的列,int =列号,搜索table[row_iterator][int] return all matches
。 (我希望用户选择,因为它并不总是相同的列/文件)
另外,我正在Excel文件中处理一个非常大的文件,200k记录+ 50k(每月)。有关搜索此内容而不杀死正在运行3小时的PC的建议吗?
答案 0 :(得分:1)
我不是百分百肯定我理解你的问题,因为你基本上在问题标题中自己回答了问题。
DataGridView提供了几个处理双击的事件,包括你提到的ColumnHeaderMouseDoubleClick
。
我要看的两个事件是:ColumnHeaderMouseDoubleClick
和CellDoubleClick
,它们之间的区别在于ColumnHeaderMouseDoubleClick
您只能获得双击标题行的事件,同时为整个网格引发CellDoubleClick
。 (同样,使用鼠标版本,您可以捕获的不仅仅是鼠标左键)。
以下是每个事件的处理程序,这两个事件都有自己的Args对象,可用于检索您要查找的列索引。
private void dataGridView1_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
MessageBox.Show(dataGridView1.Columns[e.ColumnIndex].Name);
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(dataGridView1.Columns[e.ColumnIndex].Name);
}
关于搜索大型Excel文件的次要问题确实值得成为其自身的问题 - 您需要提供有关该文件内容及其来源的更多信息以获得最佳答案。