Hàm ForEach kết hợp nguồn dữ liệu

1. Nguồn từ chuỗi
2. Nguồn từ file XML
3. Nguồn từ bộ nhớ Session
4. Nguồn từ bộ nhớ Query
  4.1 Nhập tên query được tạo từ QueryData
  4.2 Nếu gõ # là lấy query đã gán trực tiếp từ, gõ tên để lấy từ Query đã tạo
  4.3 Gọi Query có sử dụng tham số replace
5. Lệnh Rec khi for xong bảng ghi
 


<iif-F>
<Source>Nguồn dữ liệu</Source>
<ItemF>

   + <%i=Cột=i%>
</ItemF>        
</iif-F>

 Giải thích:

1. Nguồn từ chuỗi
<Source><type:text/>Giá trị 1;Giá trị 2;Giá trị n</Source>

 Ví dụ:
 <iif-F>
<Source><type:text/>1;2;3;4;5;6;7;8;9;19</Source> 
<ItemF>
  Dòng <%i=__NumOrder=i%> -  <%i=Data=i%> <br>
</ItemF>        
</iif-F>

2. Nguồn từ file XML
<Source><type:xml/>đường_dẫn_xml</Source>
Ví dụ:
<iif-F>
<Source><type:xml/>/App_Data/xml_data/DMTK.xml</Source>
<ItemF>
+ <%i=Ten=i%><br>
</ItemF>
</iif-F>

3. Nguồn từ bộ nhớ Session
<Source><type:session/>Name</>path_tham_chieu_xml</Source>
Ví dụ:

  * Cách đưa dữ liệu biến DataTable vào biến session ?


4. Nguồn từ bộ nhớ Query
<Source><type:query/>index</Source>   -> cấu hình trong lệnh QueryData:Tên
<Source><type:query/>Name</>index</Source>  (lệnh này nếu nhiều DataTable trong 1 Query thì xử lý nhanh hơn) và index bắt đầu từ 0
Name: tên query
Index: có thể là số hay chữ
    4.1 Nhập tên query được tạo từ QueryData từ /Adminxml/xml_getdata.aspx?file=SysDataQuery.xml
     Ví dụ: đã tạo 1 query tên là nhanvien ta truy cập bằng cách.

<iif-F>
<Source><type:query/>NhanVien</>0</Source>
<ItemF>
+ <%i=HoTen=i%><br>
</ItemF>
</iif-F>

    4.2 Nếu gõ # là lấy query đã gán trực tiếp từ, gõ tên để lấy từ Query đã tạo
     (cách này xử lý tối ưu hơn)

Ví dụ: đã tạo 1 query tên là nhanvien, và gán vào thuộc tính QueryData, ta truy cập bằng cách
<iif-F>
<Source><type:query/>#</>0</Source>
<ItemF>
+ <%i=HoTen=i%><br>
</ItemF>
</iif-F>

  4.3 Gọi Query có sử dụng tham số replace
  
<iif-F>
<Source><type:query/>#</>0</>Chuổi thay thế</Source>
<ItemF>
+ <%i=HoTen=i%><br>
</ItemF>
</iif-F>

Ví dụ:
Cú pháp: [input>1]--->giá trị 1/-and-/[input>2]--->giá trị 2
<iif-F>
<Source><type:query/>NhanVien</>0</>[input>1]--->Kế toán</Source>
<ItemF>
+ <%i=HoTen=i%><br>
</ItemF>
</iif-F>
 *** Gợi ý: [input>1]--->Kế toán có thể bỏ từ [input>1], vì nếu để trống mặc định là [input>1]


* Trong query có tham số where
<Query>
<ID>Q1</ID>
<Src>cnSQL_HDND</Src>
<Type>Sql</Type>
<Cmd>
SELECT * FROM   tbNhanVien Where PhongBan=@PhongBan
</Cmd>
<SqlParameter>
PhongBan<pr&/>[input>1]
</SqlParameter>
</Query>




Xem hướng dẫn sử dụng gọi query có sử dụng chuổi thay thế

5. Lệnh Rec khi for xong bảng ghi

<RecDB>NhaHang/HopDong_Load_Key</>0</RecDB>
Tên Query và vị trí table

Ví dụ:

<iif-F>
<Source><type:query/>NhaHang/HopDong_Load_Mau</>0</Source>
<RecDB>NhaHang/HopDong_Load_Key</>0</RecDB>
<ItemF>
     <%i=NoiDung=i%>
</ItemF>
</iif-F>

NoiDung là cột mã code html được soạn thảo từ FCK, muốn sau khi hiển thị sử dụng lệnh Rec db
Thêm : <RecDB>NhaHang/HopDong_Load_Key</>0</RecDB>

Code html NoiDung có {rec:TenCot:rec} là lấy giá trị ra.



 


* Tham khảo: Cách tạo query ?

Ví dụ 1 : Cách lấy file xml từ thư mục xm_data
Ví dụ 2 : in 1 dãy số từ 1 đến 10

Mục liên quan: