Skip to content

Cheat Sheet XYZGrid.ts

Rafael edited this page Mar 14, 2019 · 7 revisions

Opções disponíveis no Construtor

constructor(container: JQuery) {
    super(container);
    this.setTitle("Novo Título"); //Define um novo título para a grid
    this.titleDiv.hide();         //Esconde o título (titleDiv é um objeto Jquery, pode ser manipulado como quiser)
}

Mudar o valor padrão do PageSize(Resultados que serão mostrados por busca) e as opções padrão do Dropdown

protected getViewOptions() {
	let opt = super.getViewOptions();
	//Define o valor padrão selecionado no dropdown de resultados
	opt.rowsPerPage = 10;
	return opt;
}

protected getPagerOptions() {
	let opt = super.getPagerOptions();
	//Define os valores que aparecerão no dropdown de resultados
	opt.rowsPerPageOptions = [10, 25, 50, 100];
	return opt;
}

Remove o QuickSearch

protected createQuickSearchInput(): void {
	return null;
}

Última função a será executada no carregamento do grid (Créditos)

protected createView(): Slick.RemoteView<XYZRow> {
   let view = super.createView();
   (view as any).onDataLoaded.subscribe((e, ui) => {
	[COMANDOS AQUI]
   });
   return view;
} 

Refresh/Atualização manual da grid

var self = this; //Ficar esperto com isso, dependendo os comandos forem executados, o this pode retornar diferente.
self.slickGrid.invalidateAllRows();
self.refresh();

Filtro no grid modificando a criteria da requisição do List pelo frontend (Créditos)

protected onViewSubmit() {
    //Define a criteria da requisição List que será enviada para o Backend
    var request = this.view.params as Serenity.ListRequest;
    request.Criteria = Serenity.Criteria.and(request.Criteria, [[XYZRow.Fields.Campo], "=", "ValorProcurado"]);
    return true;
}