RDLC報表多條件分組

2022-01-31 12:40:01 字數 1567 閱讀 5831

乙個報表如果要先按a分組,然後再按b分組,再按c分組...這種多條件分組情況下,rdlc報表處理起來並不方便。

只能另闢蹊徑,想些歪招了:

比如有一張員工表,裡面有公司編碼companycode,部門號deptno,員工號empno,員工姓名empname

需要在報表上,先按公司分組,相同公司的再按部門分組

看看下面的處理**

datatable dt = new datatable();

dt.columns.add("empno", typeof(string));

dt.columns.add("empname", typeof(string));

dt.columns.add("deptno", typeof(string));

dt.columns.add("companycode", typeof(string));

dt.columns.add("companycode_title", typeof(string));

dt.columns.add("deptno_title", typeof(string));

dt.rows.add("001", "霍青桐", "a", "infosky", "", "");

dt.rows.add("002", "鳳九", "b", "infosky", "", "");

dt.rows.add("003", "程英", "c", "gsatest", "", "");

dt.rows.add("000", "李沅芷", "a", "infosky", "", "");

dt.defaultview.sort = "companycode desc,deptno asc,empno";

dt = dt.defaultview.totable();

for (int i = 0; i < dt.rows.count; i++)

var r_pre = dt.rows[i - 1];

#region //處理companycode

if (r["companycode"].tostring() == r_pre["companycode"].tostring())

else

#endregion

#region //處理deptno

if (r["deptno"].tostring() == r_pre["deptno"].tostring())

else

#endregion

}//列印輸出

foreach (datarow r in dt.rows)

\t\t\t\n", r["companycode_title"],

r["deptno_title"], r["empno"], r["empname"]);

}console.read();

這裡用控制台程式模擬報表的輸出,最終列印結果:

原理就是:只用乙個datatable逐行顯示,只是在遇到分組時,把該行某些列的值給「抹掉」.

RDLC報表 分組序號

1.rownumber group name 是按行每個分組重新1,2,3這樣來顯示的,如果需要按每個分組來顯示1,並且遞增,則需要通過自定義 來控制,在報表 屬性 裡插入 dim count as integer dim groupname as string public function gr...

MongoDB多條件分組聚合查詢

需要統計某一日期下不同活動不同渠道的呼叫量 db.collectionname.aggregate activitycode channel total mongodb的聚合管道將mongodb文件在乙個管道處理完畢後將結果傳遞給下乙個管道處理 db.collection name.aggregat...

rdlc報表函式

字串函式 複製 fields firstname.value vbcrlf fields lastname.value 複製 format parameters startdate.value,d through format parameters enddate.value,d 如果文字框僅包含日...