Как создать окно поиска и отображать значение в другом виде в c#? - PullRequest
0 голосов
/ 28 мая 2020

Я создаю программу для продажи автомобилей в форме windows c#. Я хочу, чтобы окно поиска, в котором клиента можно было искать по идентификатору, и все данные этого клиента отображались в другой форме. Я использую Visual Studio 2019 и использую локальную базу данных для сохранения деталей.

1 Ответ

0 голосов
/ 28 мая 2020

Что касается реализации окна поиска, простой подход состоит в использовании стандартного TextBox с сопровождающей кнопкой для поиска текста, предоставленного после его ввода.

Вот пример того, как вы можете обрабатывать этот ввод с помощью TextBox с именем textbox , в зависимости от того, как настроена ваша база данных / структура данных.

Допустим, вы имел данные вашего клиента в таблице , где ключ для каждого набора деталей - это строка , представляющая идентификационный номер этого клиента, а сохраненное значение является экземпляром класса Подробности , который содержит любую информацию об этом клиенте. ie, добавление в эту таблицу будет выглядеть так ...

customerDetailsTable.Add("0123456", new Details(string Name, int age, .......))

Код может выполнять поиск в этом текстовом поле, а кнопка может выглядеть примерно так:

private void searchButton_Click(object sender, EventArgs e)  // <-- click event for button
{
    if(textBox.Text.Length > 0) // <-- if something has been entered to search
    {
        Details customerDetails = customerDetailsTable[textBox.Text]; // search table
        if(customerDetails != null) // <-- if an entry exists for a customer of this ID   
        {
           using(DetailsPage page = new DetailsPage(customerDetails))
           {
              page.ShowDialog();
           }
        }
        else // <-- if NO entry exists for a customer of this ID
        {
           // ALERT USER THAT NO CUSTOMER EXISTS FOR THIS ID (via MessageBox, however)
        }
    }
}

Как вы можете видеть в приведенном выше примере, если объект, содержащий сведения об этом идентификаторе клиента, найден, он передается через конструктор в новую форму, которую я назвал DetailsPage. Это форма, которую вы создадите для отображения этих сведений, используя один параметр Details в конструкторе формы, например ...

public partial class DetailsPage : Form
{
    private Details deets;

    public DetailsPage(Details d)
    {
        deets = d;

        // however you plan on displaying the details
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...