Get the values of the selected rows with checked checkbox

守給你的承諾、 提交于 2019-12-25 03:40:10

问题


Having a report of the services table with checkbox for each row, I am trying to get the values of the selected service, so that when I click on next I can create a report with the services chosen in the new page.

I have tried in this way:

Report of the services table.

select code,
        name,
        cost,
        apex_item.hidden(p_idx   => 1, 
            p_value => code) ||
        apex_item.hidden(p_idx   => 2, 
            p_value => cost) ||
        apex_item.checkbox2(p_idx   => 3, 
            p_value => code) CheckBox
from services

I created a process.

Source:

begin
    apex_collection.CREATE_OR_TRUNCATE_COLLECTION ('SDBA_ORDER_ITEMS1');

    for i in 1..apex_application.g_f01.count loop
        apex_collection.add_member(
            p_collection_name => 'SDBA_ORDER_ITEMS1',
            p_c001            => to_number(apex_application.g_f01(i)), -- service_code
            p_c002            => to_number(apex_application.g_f02(i)), -- cost
            p_c003            => to_number(apex_application.g_f03(i)) -- service_code
        );
    end loop;
end;

Server-side Condition:

begin
    for i in 1..apex_application.g_f01.count loop
        for j in 1..apex_application.g_f03.count loop
            if apex_application.g_f01(i) = apex_application.g_f03(j) then
                return true;
            else
                return false;
            end if;
        end loop;
    end loop;
end;

Report on the next page.

select (select name from services where code = c001) as service_name,
       c002 as cost
from apex_collections
where collection_name = 'SDBA_ORDER_ITEMS1'
order by 1

Report on the next page.

select (select name from services where code = c001) as service_name,
       c002 as cost
from apex_collections
where collection_name = 'SDBA_ORDER_ITEMS1'
order by 1

In this report it shows all the services of the table instead of the selected ones.

How can I get only the selected rows? Can anybody help me please?

Thanks in advance.


回答1:


Checkboxes are formed into dense collections, not potentially sparse like the other item types. I think this is a product of web tech, not APEX.

So if you had ID, Name, Checkbox

1 - ada - checked
2 - charles - not checked
3 - alan - checked 

There would be 3 index elements in ID and Names array, and only 2 in the checkbox array - and index element 3 would be empty.

So you need to match checkbox existence by indexing by the code value, and checking for existence more like

apex_application.g_f03(apex_application.g_f01.code)

While taking care of potential no_data_found



来源:https://stackoverflow.com/questions/53463520/get-the-values-of-the-selected-rows-with-checked-checkbox

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!