Boa tarde,
Pra resolver essa questão eu fiz um teste aqui com code behind clicando com o botão direto na página com o papel de desenvolvedor ativo e selecionar "Adicionar code file". Isso vai gerar um arquivo cs lá no teu Visual Studio, relacionado a página em questão. Pode procurar por um arquivo NOMEDAPAGINA.aspx.cs.
Segue um exemplo de código que faz o filtro e desativa o New.
protected void Page_Load(object sender, System.EventArgs e)
{
if (GetAllEntities().Count > 2)
{
GRIDRESERVAS.CanInsert = false;
}
}
private Entities<EntityBase> GetAllEntities()
{
if (GRIDRESERVAS.GridDefinition.EntityDefinition.IsDynamic)
return GRIDRESERVAS.GetEntitiesMethod(null, null);
GridDefinition gridDefinitionSelect = new GridDefinition(GRIDRESERVAS.EntityViewBase.EntityDefinition);
gridDefinitionSelect.FieldDefinitions.Add(new GridFieldDefinition(new HandleFieldDefinition("HANDLE", "Handle")));
var criteria = new Criteria();
criteria.SortExpression = string.Empty;
criteria.StartRowIndex = 0;
criteria.MaximumRows = 0;
criteria.CompanyFilterMode = GRIDRESERVAS.CompanyFilterMode;
criteria.AddWhereClause(GRIDRESERVAS.GetWhereClause().Where);
return Entity.GetMany(gridDefinitionSelect, criteria);
}