Visual Studio 2008 C # - можно ли искать данные в dataviewgrid? - PullRequest
0 голосов
/ 24 марта 2011

Я просмотрел всю сеть и до сих пор не могу найти ничего, что работает.Я знаю, что это будет простая вещь, о которой я просто не смог придумать, но я потратил впустую часы, пытаясь разобраться в этом, и все еще ничего.Так что код, который я имею, ниже.Он просто заполняет сетку данных, а затем я хочу, чтобы пользователь мог выполнять поиск, введя имя контакта в текстовое поле в форме и нажав кнопку поиска.Помощь будет принята с благодарностью !!!

    private void frmCustomers_Load(object sender, EventArgs e)
    {

        sqlDataAdapterCustomers.Fill(dataSetNWCustomers1.Customers);

    }


    private void btnContactSearch_Click(object sender, EventArgs e)
    {
        String contactName = txtContactSearch.Text;

        if (txtContactSearch.TextLength > 0)
        {
            int r = customersBindingSource.Find("ContactName", contactName);
            customersBindingSource.IndexOf(r);

        }


    }

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Используйте

customersBindingSource.Filter = "ContactName ='" + contactName + "'";

, если у вас уже есть данные, загруженные в источник привязки.Поскольку DataGridView привязан к источнику привязки, он обновится и отобразит только искомый контакт.

0 голосов
/ 24 марта 2011

ExecuteNonQuery для не запросов, то есть для операторов, которые не возвращают набор результатов.

Поскольку вы, похоже, используете набор данных со строгим контролем типов, просто щелкните правой кнопкой мыши таблицу и выберите Add-> Query. Укажите, что нужно использовать операторы SQL, затем «SELECT, который возвращает строки», затем введите SELECT * FROM Customers WHERE ContactName = @ContactName и нажмите «Далее». Укажите один или оба метода и присвойте им лучшие имена (FillByContactName, GetCustomerByContactName). Затем нажмите «Готово».

Это сгенерирует метод «GetCustomerByContactName (contactName)», который будет возвращать DataTable с соответствующими клиентами (если есть). Вы можете использовать это для привязки к любому элементу управления, который вам нравится.

...