2016-06-07 4 views
0

섹션과 formtoolkit이 복합되어 있습니다. 검색 창 (Text 필드)에 일부 텍스트를 입력하면 사용자 입력을 기준으로 필터링하고 아래에 결과를 표시해야합니다. 데이터를 필터링하는 동안 한 가지 문제에 직면하고 있습니다. 사용자가 텍스트 필드에 텍스트를 입력 할 때 컴포지트의 데이터를 새로 고치는 방법. > 컴파일러 - -> 오류/경고 텍스트 필드를 필터링하는 동안 합성을 새로 고치는 방법은 무엇입니까?

가 나는

환경에서 작동하는 방법과 동일 솔루션을 원하는?

예 : enter image description here

나는 그것이 아래의 모든 관련 "NULL"값을 표시합니다 검색 상자에 "널 (null)"를 입력하면

.

어떻게 복합 데이터를 필터링/새로 고치기 위해이 구현을 구현할 수 있습니까?

답변

2

필터링 할 모든 컨트롤이 포함 된 Composite을 사용하여 참조하는 환경 설정 페이지가 수행됩니다. CompositeGridLayout 레이아웃을 사용합니다.

각 컨트롤에는 GridData 레이아웃 데이터가 있습니다. 컨트롤을 설정하려면 눈에 보이는 또는 보이지 않는이 사용

control.setVisible(visible); 
((GridData)control.getLayoutData()).exclude = !visible; 

이이 호출을 수행 한 후에 :

composite.layout(true, true); 

완전히 Composite의 레이아웃을 다시 실행. 이 코드의 대부분

은 필터링을 수행하려면 org.eclipse.jdt.internal.ui.preference.OptionsConfigurationBlock

당신이 필터에 대한 Text 필드를 만들고 텍스트의 변경을들을 수있는 ModifyListener를 추가합니다.

텍스트가 바뀔 때마다 필터로 각 컨트롤의 텍스트를 일치시키고 위에서 설명한대로 컨트롤을 표시/숨김으로 설정합니다. 필터링이 끝나면 layout 전화를 겁니다.

+0

감사합니다. 하지만 텍스트 필드에서 사용자 입력을 기반으로 데이터를 필터링하고 동시에 합성을 새로 고치는 방법을 알고 싶습니다. 감사. –

+0

실제 필터링을 수행하는 방법에 대한 개요를 추가했습니다. –