Boa tarde pessoal, seguinte, já procurei em tudo quanto é canto e documentação, mas não consigo encontrar meu erro, o fato é que simplesmente meu grid não fica habilitado, ele não deixa eu selecionar nenhuma linha… segue abaixo meu código:
import superwaba.ext.xplat.sql.pdb.pdbx.*;
import superwaba.ext.xplat.ui.db.GridEvent;
import waba.fx.Color;
import waba.fx.Font;
import waba.fx.Graphics;
import waba.fx.Rect;
import waba.sys.Vm;
import waba.ui.*;
public class ConsultaCliente extends Container implements IConstants {
private Container panelPrincipal = new Container();
private ComboBox cbxCampo = new ComboBox(CAMPOS_CLIENTE);
private Edit edtCampo = new Edit();
private Button btnCampo = new Button("Pesquisar");
private Grid grdConsulta;
private Container panelBottom = new Container();
private Button btnClose = new Button("Fechar");
private ClienteDao cliente;
private Container principal;
public ConsultaCliente(Container tela) {
principal = tela;
}
public void onStart() {
Rect r;
panelPrincipal.setRect(0, 20, width, height - 50);
panelPrincipal.setBackColor(Color.defaultBackColor);
panelPrincipal.repaint();
panelPrincipal.add(cbxCampo, LEFT, AFTER);
r = cbxCampo.getRect();
cbxCampo.setRect(r.x, r.y, 80, r.height);
edtCampo.setMode(Edit.NORMAL);
edtCampo.setCapitaliseMode(Edit.ALL_UPPER);
panelPrincipal.add(edtCampo, AFTER, SAME);
r = edtCampo.getRect();
edtCampo.setRect(r.x, r.y, 81, r.height);
panelPrincipal.add(btnCampo, AFTER, SAME);
r = btnCampo.getRect();
btnCampo.setRect(r.x, r.y, 55, 20);
add(panelPrincipal);
String []captions = {"Código", "Razão Social", "Nome Fantasia"};
int size[] = {50, 70, 70};
int align[] = {LEFT, LEFT, LEFT};
grdConsulta = new Grid(captions, size, align, false);
grdConsulta.firstStripeColor = Color.WHITE;
grdConsulta.secondStripeColor = new Color(192, 192, 192);
grdConsulta.verticalLineStyle = Grid.VERT_NONE;
grdConsulta.setRect(0, r.y + 45, width, 250);
add(grdConsulta);
panelBottom.setRect(0, height - 30, width, 30);
btnClose.setRect(140, 5, 90, 20);
panelBottom.add(btnClose);
add(panelPrincipal);
add(panelBottom);
}
public void onEvent(Event event) {
if (event.type == ControlEvent.PRESSED) {
if (event.target == btnClose) {
clear();
MainWindow.getMainWindow().swap(principal);
} else if (event.target == btnCampo) {
load();
} else if (event.target == grdConsulta) {
String []item = grdConsulta.getSelectedItem();
Vm.debug(item[0]);
}
}
if (event.type == waba.ui.GridEvent.SELECTED_EVENT) {
GridEvent gd = (GridEvent) event;
Vm.debug("coluna:"+gd.col);
Vm.debug("linha:"+gd.row);
}
}
public void onPaint(Graphics g) {
super.onPaint(g);
g.setBackColor(Color.WHITE);
g.fillRect(0, 0, this.width, this.height);
Font font = new Font("SytemNarrow", Font.BOLD, 10);
g.setForeColor(Color.BLACK);
g.setFont(font);
g.drawText("SVP-Coraves", 0, 0);
g.setBackColor(new Color(192, 192, 192));
g.fillRect(0, 20, width, height - 50);
}
private void load() {
String campo = "";
String valor = "";
ResultSet rst = null;
if (cliente == null) {
cliente = new ClienteDao();
}
if (cbxCampo.getSelectedIndex() >= 0) {
campo = (String) cbxCampo.getSelectedItem();
if (campo.equals("Código")) {
campo = "cad_codigo";
} else if (campo.equals("Razão Social")) {
campo = "cad_razao";
} else if (campo.equals("Nome Fantasia")) {
campo = "cad_fantasia";
}
if (edtCampo.getText().trim().length() > 0) {
valor = edtCampo.getText().trim();
}
}
rst = cliente.loadClientes(campo, valor);
if (rst != null) {
if (rst.first()) {
grdConsulta.setItems(rst.getStrings(-1, true, false));
} else {
grdConsulta.clear();
}
rst.close();
}
}
private void clear() {
cbxCampo.select(-1);
edtCampo.setText("");
grdConsulta.clear();
}
}