Кнопка «Найти» в привязке Navigator c # - PullRequest
0 голосов
/ 26 марта 2012

Я работаю в приложении c # windows с vs2010 и локальной базе данных с таблицей под названием «клиенты». В одной из моих форм я использую bindingNavigator для редактирования и отображения записей этой таблицы.

Я хотел бы иметь возможность создать кнопку «Найти» (в сочетании с текстовым полем), чтобы можно было перейти к любой записи, вставив поле базы данных идентификатора (что-то вроде функции поиска в средстве просмотра отчетов). ). Это возможно и как? Заранее спасибо

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Решено путем создания кнопки и текстового поля в связывающем навигаторе и при событии щелчка я написал:

int pos = this.clientBindingSource.Find("id", toolStripTextBox1.Text); 
this.clientBindingSource.Position = pos;
0 голосов
/ 30 декабря 2012

Это может быть полезным примером для человека, выполняющего поиск аналогичным образом, для которого требуется опция диалога формы:

        private void searchButton_Click(object sender, EventArgs e)
    {
        //Objects to append to the Search form
        Form searchForm = new Form();
        Label searchLabel = new Label();
        TextBox searchBox = new TextBox();
        Button okSearchButton = new Button();
        Button cancelSearchButton = new Button();

        //Properties
        searchForm.Text = "Search";
        searchLabel.Text = "Search For:";
        searchBox.Text = "";
        okSearchButton.Text = "Search";
        cancelSearchButton.Text = "Cancel";

        //Button actions
        cancelSearchButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
        okSearchButton.DialogResult = System.Windows.Forms.DialogResult.OK;
        searchForm.CancelButton = cancelSearchButton;
        searchForm.AcceptButton = okSearchButton;

        //Form control placement
        searchLabel.SetBounds(9, 20, 372, 13);
        searchBox.SetBounds(12, 36, 372, 20);
        okSearchButton.SetBounds(228, 72, 75, 23);
        cancelSearchButton.SetBounds(309, 72, 75, 23);

        searchLabel.AutoSize = true;
        searchBox.Anchor = searchBox.Anchor | AnchorStyles.Right;
        okSearchButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
        cancelSearchButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;

        //Set form properties
        searchForm.ClientSize = new Size(400, 110);
        searchForm.MinimizeBox = false;
        searchForm.MaximizeBox = false;

        //Add controls to the form
        Control[] formControl = new Control[] { searchLabel, searchBox, okSearchButton, cancelSearchButton };
        searchForm.Controls.AddRange(formControl);

        //Show the form
        DialogResult dialogResult = searchForm.ShowDialog();

        if (searchForm.DialogResult == DialogResult.OK)
        {
            int pos = tableNameTestBindingSource.Find("LastName", searchBox.Text);
            tableNameTestBindingSource.Position = pos;
        }
    }
...