DatagridView Поиск Winform - C # - PullRequest
       4

DatagridView Поиск Winform - C #

2 голосов
/ 30 ноября 2011

Я снова здесь задаю вопросы.Я надеюсь, что кто-то приложит некоторые усилия, чтобы ответить на этот вопрос.

Итак, у меня есть представление таблицы данных, в котором были значения из моей базы данных.У меня есть кнопка поиска в моей форме, которая открывает новую форму, а затем там есть текстовое поле, в котором вы можете написать строку, которую вы хотите найти.Вопрос в том, как это сделать для поиска и обновления моего datagridview.

для ex.Мое представление таблицы данных имеет следующие значения:

имя: Адам Льюис, Адам Сэндлер, Джастин Бибер, Ребекка Блэк

, если я ищу только "Адам" после того, как я нажму "ОК", и эта вторая форма закрываетсямое представление таблицы данных обновится и будет отображать только имена, на которых есть Адам.

name: adam lewis, adam sandler

** Значения в моей базе данных связаны данными.

Просто прокомментируйте ниже, если вы не поняли вопрос, и я выложу фотографии моего графического интерфейса, если это поможет.СПАСИБО ОЧЕНЬ ОЧЕНЬ СТАКОВЕРНЫЙ ПОТОК !!

это выглядит так ... enter image description here enter image description here

Вот пример видео: http://www.youtube.com/watch?v=1OjZwBqVSVI

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Какая часть вам нужна помощь?Основная идея заключается в том, что вы хотите иметь возможность контролировать свою основную форму из формы поиска.Вы можете сделать это:

В основной форме вы делаете 2 вещи, реализующие UpdateDatatable, и добавляете обработчик событий при нажатии кнопки поиска:

private void Search_Click(object sender, EventArgs e)
{
       SearchForm mySearchForm = new SearchForm();
       mySearchForm.SetMainForm(this);
       mySearchForm.Show();
}
public void UpdateDatatable(string searchWord)
{
//write your own code to update your datagridview by updating the datatable, filtering the datatable or creating a new datatable by using the parameter searchWord.  I am saying datatable because I assume your datagridview is bound to a datatable.
}

В форме поиска:

public partial class SearchForm : Form
{
    private Form mainForm;
    public SearchForm()
    {
        InitializeComponent();
    }
    public void SetMainForm(Form fromMainForm)
    {
        mainForm = fromMainForm;
    }

    private void txtSearchWord_TextChanged(object sender, EventArgs e)
    {
        mainForm.UpdateDatatable(txtSearchWord.text);
    }
}

Надеюсь, это поможет

0 голосов
/ 30 ноября 2011

Вот один из способов сделать это:

  • Сделать открытое свойство в родительской форме
  • Это свойство должно иметь set-accessor как public
  • Это должен быть источник данных для вашей сетки данных
  • Все операции поиска и управления должны выполняться только с этим свойством
  • Например: - если вы связываете сетку с данными -таблице, затем в дочерней форме вы можете получить доступ к этому общему свойству родительской формы и отфильтровать его (возможно, используя методы LinQ или DataTable Select & Filter)
  • При этом сетка данных будет обновляться автоматически;если источник изменен
  • Но убедитесь, что имеется опция сброса или доступен исходный источник, в зависимости от обстоятельств

Это грубый способ ведения дел, а не оптимальныйКстати, но это осуществимо.

Надеюсь, это поможет.

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