powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Контекстный поиск по DataGrid?
10 сообщений из 10, страница 1 из 1
Контекстный поиск по DataGrid?
    #32735306
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа может кто делал поиск по по DataGrid.
Примерно так:
есть грид с двумя колонками ТабНомер, ФИО
если встаем на ФИО и сделаем по ней сортировку, а затем нажмем кнопочку "Ф", то указатель встанет на ФИО "Федоров", нажимаем кнопочку "Р", указатель встает на "Фролов", и еще буквы "ФР" светятся в отдельном окошке.
Буду признателен любым примерам.
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735352
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делал на C#

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
private void textBox1_Find_TextChanged(object sender, System.EventArgs e)
{
   // извлечение имени столбца по индексу selectitem's combobox'a 
  string columnname = "[" + this.dataGridTableStyle1.GridColumnStyles[this.comboBox1_Order.SelectedIndex + 1].MappingName + "]";
   // извлечение имени ключевого столбца по индексу selectitem's combobox'a 
  string idcolumnname = this.dataGridTableStyle1.GridColumnStyles[0].MappingName;
  if (this.textBox1_Find.Text != "")
  {
    this.dataView.Sort = idcolumnname; // установка сортировки по ключевому столбцу для поиска по этому столбцу 
    if (this.dataSet1.Tables[0].Columns[this.comboBox1_Order.SelectedIndex + 1].DataType == System.Type.GetType("System.String"))
    {
      if (this.dataView.Table.Select(columnname + " like '" + textBox1_Find.Text + "%'", columnname).Length > 0)  // если найдено 
      {
        DataRow findedRow = this.dataView.Table.Select(columnname + " like '" + textBox1_Find.Text + "%'", columnname)[0];
        this.Cur_Manager.Position = this.dataView.Find(findedRow[idcolumnname]);
        this.statusBarPanel.Text = " " + findedRow[this.dataGridTableStyle1.GridColumnStyles[1].MappingName.Trim()];
      }
      else this.statusBarPanel.Text = " не найдено";
    }
  }
}

поиск ведётся по любой колонке типа string, их перечень отражается в комбобокс, который нужен, чтобы задать по какой колонке искать
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735358
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может принцип здесь не совсем понятен
потому что это из моего класса, написанного для редактирования любой справочной таблицы SQL Server
здесь :

this.Cur_Manager = (CurrencyManager)BindingContext[this.dataGrid.DataSource, this.dataGrid.DataMember];

this.dataView = (DataView)this.Cur_Manager.List;
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735371
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробую разобраться.
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735379
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу вылсть класс
он требует в качестве свойств
sqldataadapter
dataset (без контроля типов)
и полный набор комманд

предназначен для редактирования данных в справоночй таблице
где PK uniqueidentifier и есть колонка timestamp
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735400
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где то здесь уже этот вопрос рассматривался, попробуйте поиск по ключевым словам: CurrencyManager BindingContext Position DataView

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735564
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr. GESмогу вылсть класс
он требует в качестве свойств
sqldataadapter
dataset (без контроля типов)
и полный набор комманд

предназначен для редактирования данных в справоночй таблице
где PK uniqueidentifier и есть колонка timestamp
если можно замыль, заранее благодарен.
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735583
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Mr. GES
Прикрепляй к своему сообщению, если кого-то заинтересует перепишу на VB.NET.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32735923
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот здесь прикрепил
в принципе есть идея оформить это как user-control
(этакий продвинутый Datagrid) и сделать более универсальным
а пока что ключевой столбец передаваемого DataSet должен быть Guid, и поиск сделан только по столбцам типов string (char, varchar)
наличие столбца timestamp - не обязательно
...
Рейтинг: 0 / 0
Контекстный поиск по DataGrid?
    #32744016
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я немного изменил свой редактор, добавил свойство, которому присваивается делегат на функцию (у меня она открывает диалоговое окно для добавления новой записи в редактируемую таблицу)
то есть сейчас при нажатии на меню "новая запись" - открывается диалоговое окно, а не просто добавляется новая запись.
если кому интересно, выложу
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Контекстный поиск по DataGrid?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]