Bonjour à tous,

Dans mon application, j'ai un écran qui possède 2 tableaux l'un en dessous de l'autre.
Le problème est, qu'au niveau affichage, quand le premier tableau possède beaucoup d'éléments, je ne vois plus le second tableau. Je ne sais trop comment limiter la taille verticale du premier tableau (par exemple, à la moitié de la fenêtre). Comment faire ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
createSearchZone(); // un tableau qui prend trop de place ... 
createQueueZone(); // un autre tableau qui n'apparat plus à l'écran !
 
Button create = new Button(parent, SWT.CENTER);
create.setText("Create");
// association d'un Listener au bouton "Create"
 
// ... 
// methodes : 
	private void createSearchZone() {
		Group group = new Group(parent, SWT.NONE);
		group.setText("Search Trade Request");
 
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 9;
		group.setLayout(gridLayout);
 
		GridData gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, true);
		gridData.horizontalSpan = 2;
		group.setLayoutData(gridData);
 
		createSearchCriteriaZone(group); // bandeau de critères de recherche / filtre 
		createSearchResultZone(group);  // ce sera ce tableau qui prend trop de place !!!
 
		gridData = new GridData(GridData.END, GridData.FILL, true, false);
		gridData.horizontalSpan = 9;
		gridData.minimumWidth = 100;
		nbResult = new Label(group, SWT.NONE);
		nbResult.setText("Result : 0");
		nbResult.setLayoutData(gridData);
 
                // remplissage du tableau "search result" avec des données 
	}
 
	private void createSearchResultZone(Group aParent) {
		tradeRequestResultTableViewer = new TableViewer(aParent, SWT.BORDER | SWT.FULL_SELECTION);
		GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, true);
		gridData.horizontalSpan = 9;
 
		tradeRequestResultTableViewer.getControl().setLayoutData(gridData);
		tradeRequestResultTableViewer.setContentProvider(new IStructuredContentProvider() {
			@Override
			public Object[] getElements(Object inputElement) {
				return (Object[]) inputElement;
			}
 
			@Override
			public void dispose() {
			}
 
			@Override
			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
			}
		});
 
                // creation des colonnes 
 
		Table codeTable = (Table) tradeRequestResultTableViewer.getControl();
		codeTable.setHeaderVisible(true);
 
		setMenuForTradeRequestTableViewer(tradeRequestResultTableViewer);
 
	}
 
	private void createQueueZone() {
		Group group = new Group(parent, SWT.NONE);
		group.setText("Queue Trade Request");
 
		GridLayout gridLayout = new GridLayout();
		group.setLayout(gridLayout);
 
		GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
		gridData.horizontalSpan = 2;
		group.setLayoutData(gridData);
 
		tradeRequestQueueTableViewer = new TableViewer(group, SWT.BORDER | SWT.FULL_SELECTION);
		gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
		tradeRequestQueueTableViewer.getControl().setLayoutData(gridData);
		tradeRequestQueueTableViewer.setContentProvider(new IStructuredContentProvider() {
			@Override
			public Object[] getElements(Object inputElement) {
				return (Object[]) inputElement;
			}
 
			@Override
			public void dispose() {
			}
 
			@Override
			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
			}
		});
 
                // Création des colonnes 
 
		Table codeTable = (Table) tradeRequestQueueTableViewer.getControl();
		codeTable.setHeaderVisible(true);
 
                // remplissage du tableau avec des données
	}
Merci d'avance.