Измените int, чтобы он соответствовал номеру столбца на columnheader.MouseDoubleClick - PullRequest
1 голос
/ 20 июня 2011

Вопрос довольно очевиден, но здесь все равно идет речь:

Пользователь дважды щелкает столбец, который он хотел бы найти, int = номер столбца, поиск table[row_iterator][int] return all matches. (Я бы хотел, чтобы пользователь выбрал, потому что это не всегда будет один и тот же столбец / файл)

Кроме того, я работаю над довольно большим файлом, 200k записей + 50k (ежемесячно), в файле Excel. Любые предложения по поиску этого без убийства ПК, на котором он работает в течение 3 часов?

1 Ответ

1 голос
/ 21 июня 2011

Я не уверен на 100%, что понимаю ваш вопрос, поскольку вы в основном отвечаете на него сами в заголовке вопроса.

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 действительно заслуживает отдельного вопроса - вам нужно дать немного больше информации о содержимом этого файла.и откуда это взять, чтобы получить лучший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...