选中复选框获取所选行的值 [英] Get the values of the selected rows with checked checkbox

查看:200
本文介绍了选中复选框获取所选行的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于每行都有一个带复选框的服务表报告,我试图获取所选服务的值,以便当我单击下一步时,可以使用在新页面中选择的服务创建报告. /p>

我已经尝试过这种方式:

服务表的报告.

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

我创建了一个过程.

来源:

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;

服务器端条件:

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

在下一页上报告.

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

在此报告中,它显示了表中的所有服务,而不是所选服务.

如何仅获取选定的行?有人可以帮我吗?

先谢谢了.

解决方案

复选框被形成为密集的集合,不会像其他项类型那样稀疏.我认为这是网络技术的产品,而不是APEX.

因此,如果您具有ID,名称和复选框

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

ID和Names数组中将有3个索引元素,而复选框数组中只有2个-索引元素3将为空.

因此,您需要通过按代码值编制索引来匹配复选框是否存在,并更像是检查存在性

apex_application.g_f03(apex_application.g_f01.code)

照顾潜在的no_data_found

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.

解决方案

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

这篇关于选中复选框获取所选行的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆