jQuery + Stimulsoft.Report 选择gridview多行打印

jQuery + Stimulsoft.Report 报表空间打印多个ID

split函数,多行ID

1. 获取选择多行ID(前台)

//按钮-打印
        function PrinterWorkQuality() {
            var row = $("#ui_Grid2").datagrid("getChecked");
            if (row.length > 0) {
                var parmIds = "";
                $.each(row, function (i, row) {
                    parmIds += row.Id + ",";
                });
                parmIds = parmIds.substring(0, parmIds.length - 1);
                ClostTabByName("制程巡检单");
                AddSubPage('制程巡检单', '../../Content/page/report.aspx?area=Stock&rpt=WorkQuality&id=' + parmIds, 'icon-report');
            }
        }

2.参数varchar ,size = 200(报表)

3.XQuery Split函数(SQL)

create function func_splitid
(@str varchar(max),@split varchar(10))
RETURNS @t Table (c1 int)
AS
BEGIN
    DECLARE @x XML
    SET @x = CONVERT(XML,'<items><item id="' + REPLACE(@str, @split, '"/><item id="') + '"/></items>')
    INSERT INTO @t SELECT x.item.value('@id[1]', 'INT') FROM @x.nodes('//items/item') AS x(item)
    RETURN 
END
GO

4.存储过程(SQL)

-- exec TX_R_WorkQuality @qcidlist = '1,2,3,4'


alter PROCEDURE TX_R_WorkQuality
@qcidlist varchar(100)

as 
begin

create table #tmpqcid
(
qcid int
)
insert into #tmpqcid(qcid)
select c1 from func_splitid(@qcidlist,',')



SELECT 
 m1.* 
,convert(nvarchar(10),EDate) as strDate,case when WShift='shift1' then '白班' else '晚班' end as WShiftName 
FROM VWorkQuality m1
inner join #tmpqcid m2 on m1.Id = m2.qcid

drop table #tmpqcid
end

5.查询语句(报表)

exec TX_R_WorkQuality @id

原文地址:https://www.cnblogs.com/chirs888888/p/6610080.html