Default No item to show in filters

Default No item to show in filters

  

Hi,

I need the filters for default no item to show in tables for search items.

i tried another syntax but my search box is not functioning please help.


Here are my current filters syntax:

Filter 1

ItemTable.LotNo like "%" + SearchRuncard + "%" or ItemTable.DeviceNo like "%" + SearchRuncard + "%" or ItemTable.Module like "%" + SearchRuncard + "%" or ItemTable.PackageType like "%" + SearchRuncard + "%"

Filter 2

ItemTable.Module = ModuleId


Hi Ryan,

Are you still having that problem? Did you try to test the conditions in your filters one by one to understand what is not working in your aggregate.


Regards,

António Pereira

Hi Ryan Garcia,

We have property under Table Records called Empty Message from there you can have your empty message like "No item to show...".



Thanks,

-HM-




Hi Ryan,

it will be better if you could be more specific with your table structure and need as seeing just at just 2 filters cannot give a solution without knowing the business or structure of the table.

If u could provide the OML then we can be very much specific to the solution.

Hi Guys,


I need a mentor for this project. please see my oml.


Many thanks Guys

Hi Ryan,

Could you please let me know in which part search is not working. I can look into it and help you out.


Thanks,

-HM-


Hi Ryan,

Not sure if I understood your question, but what you need seams to be to display all itens for that Module when your search box is empty. 

If that is the case you just need to add the following to your Filter 1.

or SearchRuncard = ""

Like this you only apply the filter if search variable is not empty.

Hope this helps.

Ana Reis


Hi Guys,

It should be like this in all search web screen. 


Ana,

I already tried the (or search) but nothing happened.


Many thanks,

Ryan


Hi, 

Your problem is the result of a series of things.
You have a filter in the form:

ItemTable.Module = ModuleId

Both ItemTable.Module and ModuleId are text. This means that the "=" condition will obligate to the value in ModuleId to be found exactly in the field ItemTable.Module. If an exactly match do not exists, no rows will be returned from the database.

ModuleId is defined as an InputParameter to the screen:

And the only place where your screen is been called is from the menu. But as you have a mandatory Input Parameter in your screen, you have to provide a value in the Input Parameter.

You are using the ID of the same MENU ITEM you are calling (you are doing this at every menu). It is converted to text when requesting the page.

You see, this does not make any sens, because the id of the menu, I think, is not related with the data in the Module in 'ItemTable' entity. 

If you don't have any value in the table that match the ID of the MENU ITEM, your aggregate will return nothing.

The solution is to delete the ModuleId variable and REMOVE this filter in the aggregate, as you want a list. This will return ALL lines in the table.

If you indeed need to filter the list by module, you should include a new TEXT INPUT in the Search bar, attach to the ModuleId variable (now a Local or Session variable) and change the filter to be in the form 

ModuleId = "" or ItemTable.Module = ModuleId

This way if ModuleId is empty, it will return all records, otherwise will return ONLY a single record, if there is a match between ModuleId and ItemTable.Module.

You have the same problem in all your view screens where the aggregate includes the ItemTable.

But I may be wrong. In this case, what would be the purpose of the Module field? Because no matter the purpose, passing the MENU ITEM id as the value to the ModuleId input variable will never give you results, unless the values in the Module field are "number" (1, 2, 3, etc).

Hope this helps.
if you are able to solve your problem, please, mark one of the answers that helped you as the correct solution, so others will benefit of this discussion.

Cheers,

Eduardo Jauch