xml_getdata

1. Chức năng.
2. Cách truy cập.
3. File mẫu html
4. Một số tham số Url xử lý
 - find
 - where
 - rendata
 - where_date
 - _s_file_pr


5. Lệnh sử dụng trong dữ liệu
6. Xử lý hiển thị di động các thiết bị màn hình nhỏ

**************

1. Chức năng
    * Hiển thị dữ liệu theo dạng lưới, có thể lấy từ xml hay sql

2. Cách truy cập
Hiển thị dữ liệu, truy cập theo đường dẫn
   /Adminxml/xml_getdata.aspx?file=TenFile.xml
-Cấu hình theo đường dẫn /iif-admin/sysobject-field-config

3. File mẫu html lấy tại:
  * File html gốc
 
/App_Data/html/xml_getdata.html
  * xml_getdata.html
*************************
File cấu trúc gốc: /html/xml_getdata.htm:
{form_button_data} <!-- lấy từ /html/xml_getdata/button.htm -->       
<div class="card mb-3">
    <div class="card-body">
        {gridviewdata}     <!-- lấy từ /html/xml_getdata/gridview.htm -->                   
    </div><!-- card-body -->
</div><!-- card mb-3 -->
{form_button_data} <!-- lấy từ /html/xml_getdata/button.htm -->       
<script>
.....code từ file đã có

{javascript}
<!-- lấy  cấu hình datatables.net -->
<!-- lấy từ /html/xml_getdata/js_int_DataTable.htm-->   cấu hình datatable
     Trong js_int_DataTable.htm có các lệnh khởi tạo datatables.net
           $(document).ready(function() {
         $('#dataTable').DataTable( {

             _datatable_cf_add_
            //cộng tổng
            _datatable_cf_sum_       
            ... code cau hinh DataTable    
    } );
} );

_datatable_cf_sum_   sẽ lấy file
<!-- lấy từ /html/xml_getdata/js_int_sum.htm--> SUM
   * hệ thống sẽ tự động sinh code căn cứ trên
Grid_Field_Sum

_datatable_cf_add_ sẽ lấy dựa vào cột Grid_Config của sysObject

Bọc bởi lệnh:
{js_DataTable_add:lệnh_js:js_DataTable_add}

Ví dụ: xem tại

<!--

</script>

Grid_Page_AddHtml sẽ được thêm vào cuối cũng cùa cấu trúc trang, có thể là css, html, js


** một số cấu hình chuyên sâu
  - Nếu muốn load file cấu hình datatables.net riêng ta làm như sau:
  Cấu hình lại Grid_Config trong sysObject là
   Ví dụ: xem tại


*************************
  * Các mẫu html có thể thay đổi lại cấu trúc html
     - Mẫu html toàn bộ file
     - Mẫu gridview, lưới table gồm các dòng và cột
    - Mẫu 2 cột tít và sửa
    - Mẫu nút lệnh phía trên
    - Bổ sung thêm thêm html,css, js ở cuối gridview
 

Cách sử dụng lệnh trong mẫu

4. Một số tham số Url xử lý
Lấy ví dụ có 1 có dữ liệu nhân viên gồm
Truy cập file xml_getdata.aspx?file=nhanvien.xml&thêmUrl
 

Ma Ten Phong
01 Tran Van A KeToan
02 Le Thi C KeToan
03 Nguyen Thi B NhanSu

* find: là trường lọc chung
Ví dụ:xml_getdata.aspx?file=nhanvien.xml&find=B
Thì chỉ lọc ra dòng 03

* find__TenTruong: lọc giá trị theo trường chỉ định
Ví dụ:tìm theo mã nhân viên, thêm &find__Ma=01
/xml_getdata.aspx?file=nhanvien.xml&find__Ma=01

* field__group: tạo ta liên kết để lọc theo dữ liệu
Ví dụ: dữ liệu nhân viên có tên phòng ban, muồn tạo ra liên kết nằm dưới tiêu đề
/xml_getdata.aspx?file=nhanvien.xml&field__group=PhongBan


* where: tạo điều kiện lọc
Ví dụ: dữ liệu nhân viên có tên phòng ban, muồn tạo ra liên kết nằm dưới tiêu đề
/xml_getdata.aspx?file=nhanvien.xml&where=PhongBan:'X'

Là where trong sql:
Where=PhongBan='KeToan' And Tuoi>50

Vì trên url nên không thể dùng các ký tự như =  ..
Nên các ký tự thay thế lại là
=    :
%    *
-     [1] 

* rendata:  json / xml
?rendata=json  thì dữ liệu sẽ gen ra json

      Thêm lệnh url: &rendata_cmd=Distinct:TenCot1,TenCot2;Sort:Cot1;Compute:TenCotAdd-Count(_SYS_KEY)

      Nếu muốn nhóm theo cột: thêm Distinct:TenCot
              * Có tính toán thêm Compute:SL-Count(_SYS_KEY)
                 - Viết gọn chỉ cần Compute:SL vì mặc định là Count(_SYS_KEY)
       
Ví dụ: nhóm lại thêm tên nhóm và đếm số lượng

/Adminxml/xml_getdata.aspx?file=iif_o_SanPham.xml&rendata=json&distinct=Nhom&rendata_cmd=Distinct:Nhom;Compute:SL



* Tìm theo ngày:
?where_date_month_year=ngay-4-2022
?where_date_month_year=ngay-2022
?where_date_form_to=ngay-1/4/2022-1/12/2022
ngay là tên cột trong dữ liệu xml

* _s_file_pr
Nạp theo cấu hình file xmlObject
  - Nếu để trống thì lấy mặc định dòng đầu tiên trong xmlOject
 - Nếu nhập sẽ lấy dòng tương ứng
             Hay dùng khi 1 file data cần sử dụng > 2 giao diện xem dữ liệu

 

5. Lệnh sử dụng trong dữ liệu
/iif-admin/su-dung-lenh-trong-mau-html

6. Xử lý hiển thị di động các thiết bị màn hình nhỏ
* Vào phần sysObject.xml -> tab Gridview
Grid_Page_AddHtml
<style>
@media (max-width: 768px) {
 .table .TênCột {
    font-size:0.7em;
    width:300px !important ;
  }

 }
</style>


Mục liên quan: