c # показать выбранные данные - PullRequest
0 голосов
/ 10 марта 2012

Я хочу показать только те данные, которые содержат номер карты, который я ввел в форму1. мой стол выглядит так

ID      cardNO     type     amount           date
1       1234       W    100.0000    08/03/2012 17:45:09
4       3455       W    100.0000    08/03/2012 22:10:58
5       5454       W    5.0000          09/03/2012 21:36:45ou

, поэтому, если я введу 1234, то будут отображаться только данные, содержащие эту карту. Нет например

ID      cardNO     type     amount           date
1       1234       W       100.0000       08/03/2012 17:45:09

Я передаю данные из form1 с помощью переменной show2.cardNO

Не уверен, как я могу добиться этого в визуальном C #

я хочу показать это в сетке данных

Ответы [ 2 ]

0 голосов
/ 10 марта 2012

Лучший способ - через SQL-запрос в вашем коде. Пример

sql любит:

select * from your_table where cardNo = show2.cardNO

Вы должны настроить приведенный выше код в соответствии с реальным случаем.

0 голосов
/ 10 марта 2012

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

Независимо от элемента управления и типа, вам необходимо отфильтровать данные в новую переменную, ипередайте это в ваш элемент управления для отображения.

В следующем коде для отображения используется ListBox (lbAvailable), а для ввода значения для фильтрации ListBox - текстовое поле (txtFilter).Обязательно включите ссылку на LINQ.

private int _filterLength = 0;
private List<Object> _originalItems;

private void txtFilter_TextChanged(object sender, EventArgs e)
{
    if (txtFilter.Text.Length < _filterLength)
    {
        // reset DataSource if filter has had chars deleted
        // so we can re-filter on the original mainly for deletions)
        lbAvailable.DataSource = _originalItems;
    }

    _filterLength = txtFilter.Text.Length;

    // only filter if... there is a filter
    if (_filterLength > 0)
    {
        ApplyFilterToAvailable();
    }
}

private void ApplyFilterToAvailable()
{
    var myOtherList = lbAvailable.Items.Cast<Object>().ToList();
    lbAvailable.DataSource = null;

    var filtered = myOtherList.Where(x => x.ToString().Contains(txtFilter.Text)).ToList();

    lbAvailable.DataSource = filtered;
}

Если вам нужно увидеть больше окружающего кода, источник доступен на элементе пользовательского выбора

Youпришлось бы адаптировать его для любых элементов управления, которые вы используете - вероятно, DataGrid?

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