Adicionar uma nova coluna em um grid existente
Adicione no uses do script a unit: CxGridCol;
Localize a View onde se deseja criar a nova coluna (atentar que o grid pode possuir mais de uma view);
Utilize o método TcxGridColuna.Create(View: TcxGridDBTableView; NomeColuna, Tipo : String; Tamanho : integer = 0; CamposChave : String = ''). A chamada a este método irá retornar um objeto do tipo TcxGridColuna. Este método espera os seguintes parâmetros:
View: A view onde se deseja criar a nova coluna;
NomeColuna: O nome da nova coluna. Este nome será utilizado como título da coluna e aceita espaços e caracteres especiais;
Tipo: Indica o tipo de dados que será aceito pela coluna. Os valores possíveis são:
Texto: aceita valores alfanuméricos;
Número: aceita valores númericos com ponto flutuante e o número de casas depois do ponto pode ser definido através da propriedade Decimais. Ex.:
Uses CxGridCol; var Coluna : TcxGridColuna; begin Coluna := TcxGridColuna.Create(ViewFormaPagamento, 'Campo do tipo Número', 'Numero'); Coluna.Decimais := 2; end;
Inteiro: aceita valores inteiros;
Data: aceita datas;
Hora: aceita horas;
DataHora: aceita data e hora;
Combo: este campo permite que o usuário escolha entre múltiplas opções. O valores da lista podem ser definidos através da propriedade Itens. Ex.:
Uses CxGridCol; var Coluna : TcxGridColuna; begin Coluna := TcxGridColuna.Create(ViewFormaPagamento, 'Campo do tipo Combo', 'Combo'); Coluna.Separador := ';'; Coluna.Itens := 'Item um;Item dois'; // VALORESFIXOS: Indica que o usário não poderá digitar valores, // apenas escolher os que já existem na lista Coluna.ValoresFixos := True; end;
EditButton: este campo é a combinação de um campo texto com um botão que pode ser utilizado para realizar interações com o usuário. O comportamento do botão pode ser definido associando-se o método desejado na propriedade EventoClicouBotao. Ex.:
Uses CxGridCol, Dialogs; var Coluna : TcxGridColuna; procedure MeuEventoClicouBotao(AButtonIndex : String; var Retorno : String); begin if MessageDlg('Deseja Retornar data e hora?', mtWarning, SetOf([mbYes, mbNo]), 0) = mrYes then Retorno := FormatDateTime('hh:nn:ss:zzzz', Now); end; begin Coluna := TcxGridColuna.Create(ViewFormaPagamento, 'Campo do tipo EidtButton', 'EditButton'); Coluna.EventoClicouBotao := 'MeuEventoClicouBotao'; end;
Tamanho (opcional): este parâmetro é válido apenas para campos do tipo Texto e irá definir o tamanho máximo de caracteres que o campo irá comportar. O tamanho máximo permitido é de 5000 caracteres;
CamposChave (opcional): Alguns grids no sistema não possuem a definição do campo chave. Sem essa informação não é possível fazer o tratamento dos valores digitados pelo usuário. Nesses casos, é possível informar quais campos serão utilizados como chave. Lembrando que estes campos precisam ser únicos.