Skip to content

DropDownBox: add Search in Embedded Components topic#8854

Open
vladaskorohodova wants to merge 9 commits into
DevExpress:26_1from
vladaskorohodova:ddb-grid-list26_1
Open

DropDownBox: add Search in Embedded Components topic#8854
vladaskorohodova wants to merge 9 commits into
DevExpress:26_1from
vladaskorohodova:ddb-grid-list26_1

Conversation

@vladaskorohodova

Copy link
Copy Markdown
Collaborator

No description provided.

@vladaskorohodova vladaskorohodova self-assigned this Jun 10, 2026
Copilot AI review requested due to automatic review settings June 10, 2026 07:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “Search in Embedded Components” documentation section for DropDownBox, describing how to implement search when embedding DataGrid (flat data) or TreeList (lookup display-value search). It also modernizes parts of the existing “Synchronize with the Embedded Element” topic code samples.

Changes:

  • Added an overview article explaining shared configuration and the differences between DataGrid (searchValue/searchExpr) and TreeList (lookup-driven filter) search approaches.
  • Added two new how-to topics: one for embedded DataGrid search and one for embedded TreeList search (lookup scenario).
  • Updated the existing synchronization topic’s wording and refreshed Angular/Vue/React code samples.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.

File Description
concepts/05 UI Components/DropDownBox/20 Search in Embedded Components/00 Search in Embedded Components.md New overview article comparing search approaches and shared configuration.
concepts/05 UI Components/DropDownBox/20 Search in Embedded Components/05 DataGrid.md New DataGrid-focused how-to with multi-framework code snippets.
concepts/05 UI Components/DropDownBox/20 Search in Embedded Components/10 TreeList.md New TreeList-focused how-to for lookup display-value search.
concepts/05 UI Components/DropDownBox/15 Synchronize with the Embedded Element.md Refined introductory text + updated framework code samples.

Comment thread concepts/05 UI Components/DropDownBox/15 Synchronize with the Embedded Element.md Outdated
@vladaskorohodova vladaskorohodova changed the title DropDownBox: add Search in Embedded Components topic (WIP) DropDownBox: add Search in Embedded Components topic Jun 10, 2026
@vladaskorohodova vladaskorohodova requested a review from Copilot June 10, 2026 14:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 13 comments.

Comment thread concepts/05 UI Components/DropDownBox/15 Synchronize with the Embedded Element.md Outdated
Copilot AI review requested due to automatic review settings June 10, 2026 15:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 9 comments.

@16adianay 16adianay self-requested a review June 11, 2026 08:38
Copilot AI review requested due to automatic review settings June 11, 2026 08:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 8 comments.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 11, 2026 10:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

@@ -0,0 +1,56 @@
DropDownBox does not have built-in search. To add search functionality, embed a DataGrid or TreeList and implement filtering manually. The approach depends on whether you search a **regular field** or a **lookup column display value**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
DropDownBox does not have built-in search. To add search functionality, embed a DataGrid or TreeList and implement filtering manually. The approach depends on whether you search a **regular field** or a **lookup column display value**.
When using a DropDownBox with an embedded DataGrid or TreeList, you can turn the component's input field into a search/filter box. Obtain the input field text and construct a filter condition for the dropdown control. Implementation details depend on whether you search a field that holds actual values or lookup IDs.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to keep the original for these reasons:

  1. "lookup IDs" is incorrect. The lookup column scenario is specifically about searching by display value (e.g. an employee name). IDs is what filter resolves to internally
  2. "a field that holds actual values" kinda doesn't mean anything because all fields hold actual values... I personally think it's more vague than a "regular field vs. lookup column"
  3. The "DropDownBox does not have built-in search" sentence is crucial for me. It tells the reader why we are doing this thing in the first place. So your rewrite just loses context
  4. IMHO I wouldn't put implementation details in the intro. The steps below cover the whole implementation thing and I personally think the job of the intro just to orient people on what they should choose. That's why I made a comparison table.

<table class="dx-table">
<tr>
<th>Aspect</th>
<th>Search by regular field (no lookup column involved)</th>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<th>Search by regular field (no lookup column involved)</th>
<th>Search field contains values</th>

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my first comment

<tr>
<th>Aspect</th>
<th>Search by regular field (no lookup column involved)</th>
<th>Search by lookup column display value (lookup involved)</th>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<th>Search by lookup column display value (lookup involved)</th>
<th>Search field contains lookup IDs</th>

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my first comment


### 6) Detect Whether the User Is Searching (`isSearchIncomplete`)

The `isSearchIncomplete` function returns `true` if the user has changed the input text and a new search must be applied (that is, `text` differs from the current `displayValue`):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `isSearchIncomplete` function returns `true` if the user has changed the input text and a new search must be applied (that is, `text` differs from the current `displayValue`):
The `isSearchIncomplete` function returns `true` if the user has changed the input text and the component must execute another search operation:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment


### 8) Reset State in `onClosed`

When the popup closes, DropDownBox [`onClosed`](/api-reference/10%20UI%20Components/dxDropDownBox/1%20Configuration/onClosed.md '/Documentation/ApiReference/UI_Components/dxDropDownBox/Configuration/#onClosed') restores consistent state if the user typed something but did not confirm a selection. The search state is cleared by calling `dataSource.filter(null)`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When the popup closes, DropDownBox [`onClosed`](/api-reference/10%20UI%20Components/dxDropDownBox/1%20Configuration/onClosed.md '/Documentation/ApiReference/UI_Components/dxDropDownBox/Configuration/#onClosed') restores consistent state if the user typed something but did not confirm a selection. The search state is cleared by calling `dataSource.filter(null)`.
When the popup closes, the DropDownBox raises its [`onClosed`](/api-reference/10%20UI%20Components/dxDropDownBox/1%20Configuration/onClosed.md '/Documentation/ApiReference/UI_Components/dxDropDownBox/Configuration/#onClosed') event. Process situations when the user typed something but did not confirm a selection.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment

@Abadzhev Abadzhev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Co-authored-by: Vladimir Abadzhev <vladimira@devexpress.com>
Copilot AI review requested due to automatic review settings June 15, 2026 10:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 9 comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants