Trang table_data

* Là trang lấy danh sách có nút chọn phía trước, để lấy dữ liệu khi chọn
Trang mẫu: popup_table.html
Được sử dụng cho điều khiển popupgrid

I. Tham số URL:

1. file : nguồn dữ liệu
2. col: danh sách cột hiển thị
3. objreturn:tên input trả về giá trị
4. value_select: giá trị để chọn dòng (focus) hàng dữ liệu
5. colfindgrid:cột tìm dòng cần select với giá trị là value_select
6. where
7. col_distinct: tên cột cần distinct
8. calfunjs : gọi thêm hàm xử lý khác, ví dụ load json ra input

II. Ứng dụng liên quan
 1. Làm nút chọn đưa dữ liệu vào textbox

 2. Tạo liên kết nhóm khi chọn

========================

1. file: (Nguồn dữ liệu)
  1.1. Tên file xml
    
* Ví dụ file gốc:
           xml_getdata_q.aspx?file=BoPhan.xml&col=
     * Ví dụ file trong thư mục:
           xml_getdata_q.aspx?file=TenThuMuc/BoPhan.xml&col=

  1.2. Tên query (chu ý thêm QR phía trước query file=QR:TênQuery)
     * Ví dụ:
          xml_getdata_q.aspx?QR:KeToanBanHang/DMTK_Loc&col=
           -> Nếu query có các tham số lọc, hãy thêm vào trên url

2. col


table_data.aspx?file=tenfile.xml
&
col=TenCot1-/-TiêuĐề-/-ĐịnhDạng-/-Style-/-Class-//-TenCot2-/-TiêuĐề-/-ĐịnhDạng-/-Style-/-Class

  - TenCot: tên trong CSDL
  - Tiêu đề: tên đầy đủ có tiếng việt
  - Định dạng:
         n0 : ra tiền  (ko cần { và } vì tự mặc định thêm)
         {0:n0} đồng : ra tiền có thêm đồng phía sau
         dd/MM/yyyy :ngày

        * Nếu có cột chứa link ảnh ta hiển thị ra bằng cách

          **img-100px
            Cú pháp đẩy đủ: **img-width-class


  - Style: lệnh css
    ví du: Color:red
           text-align:right  ** -> vì dấu - trùng với dấu - tách dữ liệu nên thay dấu - thành _


Ví dụ nguồn dữ liệu:


Lấy file XML

?file=DM_DichVuKhac.xml/-/TiêuĐềForm /-/Ten-Tên--Color:red,DonGia-Giá-n0-text_align:right,GhiChu-Ghi chú/-/Ten/->/document.getElementsByName('DonGia')[0].value=vl_popup[2];

3. objreturn

  * Gọi tên hàm(javascript) trong trang html parent (trang cha là trang được mở cửa sổ popup này)

Tên hàm thực thi bên trang cha
Lệnh gọi từ trang con:

     window.parent.set_{objreturn}(data);

     {objreturn} được thay thế bằng objreturn
   --> Nếu không gọi hàm từ hệ thống xml mà từ viết thì cần viết hàm ở trang cha

     function set_{objreturn}(data)
    {
alert('test');
      }

* Gán giá trị trực tiếp vào đối tượng trong trang parent

&objreturn=FIND_INPUT_IN_CLASS__col_NoiDung__1
FIND_INPUT_IN_CLASS__: cố định
col_NoiDung__1 tên class có chứa input

Thường áp dụng cho grid input

 

Lấy Query

?file=QR:DM_DichVuKhac.xml/-/TiêuĐềForm /-/Ten-Tên--Color:red,DonGia-Giá-n0-text_align:right,GhiChu-Ghi chú/-/Ten/->/document.getElementsByName('DonGia')[0].value=vl_popup[2];

4. value_select: giá trị để chọn dòng (focus) hàng dữ liệu
5. colfindgrid:cột tìm dòng cần select với giá trị là value_select
   Ví dụ 4&5:
      colfindgrid=DT2&value_select=CtyA
      * Giải thích: sẽ lặp tất cả các dòng với giá trị CtyA của cột DT2

6. where

&where=Loai='thu'

II. Ứng dụng liên quan
 
1. Làm nút chọn đưa dữ liệu vào textbox
  2. Tạo liên kết nhóm khi chọn

<script>
$(document).ready(function(){
 $( "#html_hearder" ).append("<div class='button_loading'>Loadding...</div>"  );
 $.get("/Adminxml/xml_getdata.aspx?file=iif_o_SanPham.xml&rendata=json&distinct=Nhom&rendata_cmd=Distinct:Nhom;Compute:SL", function(data, status){

      nhom_dang_chon=urlGetValuePara('find__Nhom');

      var html_add="<div class='p-2 mr-2'>";
        $.each(data, function (index, itemData) {
       
            tenhom=itemData.Nhom;
           if(nhom_dang_chon==itemData.Nhom)
               tenhom="<strong class='text-danger'>"+itemData.Nhom+"</strong>";         
          html_add +=" <a class='btn btn-outline-primary' href='"+ urlCurrent_AddPara('find__Nhom',itemData.Nhom)  +"' '><i class='fas fa-link'></i> "+tenhom+ "("+itemData.SL+")"  +"</a>";          // itemData.Nhom
           
        });
         html_add +="</div>";
        $( "#html_hearder" ).append(  html_add );
          $( ".button_loading" ).hide();
        
        
  });//$.get
});//document


</script>

** Json trả về 2 cột Nhom , SL

 

8. calfunjs :

Nếu như muốn khi click vào chọn sẽ gọi thêm 1 hàm JS
* ứng dụng trong việc gọi hàm xử lý JSON để nạp vào input

  * bên trang cha (parent) có hàm NapHangHoa
   thì tham số calfunjs=NapHangHoa

   Khi click chọn sẽ gọi hàm NapHangHoa với 2 tham số data,pos_row_open
  bên trang cha tách ra bằng cách data[1]
   Tham khảo thêm cách cấu hình input: /iif-admin/cau-hinh-o-nhap-lieu#thamso_04_ham_jsgoithem

  

 

Mục liên quan: