xml_getdata một số nghiệp vụ

 

  1. Lấy dữ liệu JSON hiển thị
  2. Tại row xử lý, cần lấy dữ liệu file xml mà tên file được lưu tại dòng hiện hành
  3. Thêm link cho trường nhóm
  4. Thêm nhóm và dưới button, có kích hoạt màu khi chọn vào
  5. Tùy chọn nhiều giao diện hiển thị
  6. Tạo giao diện thống kê dữ liệu
  7. Thêm link vào cột bằng cách lấy giá trị cột khác với jquery


 

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

Một số nghiệp vụ hay gặp
1. Lấy dữ liệu JSON hiển thị ra html
Vào xmlObject -> Grid -> Grid_Page_AddHtml

<script>
$(document).ready(function(){
 $( ".grv_button" ).append("<div class='grv_button_loading'>Loadding...</div>"  );
 $.get("/adminxml/Query_Do.aspx?name=iif_o/DemSoLuong&out=json", function(data,

status){
      
    //alert(  JSON.stringify(data )  );
      var html_add="<div class='p-2 mr-2'>";
        $.each(data.Q1, function (index, itemData) {          
             html_add +=itemData.SL_HH + " ; ";           
        });
         html_add +="</div>";
        $( ".grv_button" ).append(  html_add );
          $( ".grv_button_loading" ).hide();     
        
  });//$.get
});//document
</script>

* Các chữ màu đỏ thay thế lại cho phù hợp

 --- Ví dụ: Đếm số lượng sản phẩm có trong báo giá
           tbBaoGiao, tbBaoGia_ChiTiet

    * Lấy json được của query đếm sl:
<Query>
<ID>Q1</ID>
<Src>xx</Src>
<Type>Sql</Type>
<Cmd>Select _SYS_KEY, (Select Count(*) From tbBaoGia_ChiTiet Where KEY_BaoGia=tbBaoGia._SYS_KEY) as SL From tbBaoGia</Cmd>
</Query>

   
   * Grid_Field_Add: thêm vào 1 cột, ví dụ SoLuong
   * Thêm Grid_Field_Format ta thêm
       SoLuong:<a id="bt_{0}" ></a>
<script>
$(document).ready(function(){
 $( ".grv_button" ).append("<div class='grv_button_loading'>Loadding...</div>"  );
 $.get("/adminxml/Query_Do.aspx?name=Query_DEM_SL&out=json", function(data,

status){     
        $.each(data.Q1, function (index, itemData) {  
             $("#bt_"+itemData._SYS_KEY).html(itemData.SL_HH  );            
        });
        $( ".grv_button" ).append(  html_add );
          $( ".grv_button_loading" ).hide();       
        
  });//$.get
});//document
</script>


2. Tại row xử lý, cần lấy dữ liệu file xml mà tên file được lưu tại dòng hiện hành
Tham khảo lệnh

3. Thêm link cho trường nhóm
Cách 1: vào Grid View -> Grid_Field_Format
  Thêm:
   Cot:<a href="{url:[url_current]:url}&find__Cot={0}">{0}</a>
   ** nhược: chỉ chạy 1 lần, lần thứ 2 click sẽ cộng dồn trên link

Cách 2:
* Grid_Field_Format:
Nhom: <a class="btLink_TenCot" p_TenCot="{0}" href="#">{0}</a>

* Grid_Page_AddHtml:

  $('.btLink_TenCot').click(function(){
       var gt_TenCot= $(this).attr('p_TenCot');
       var url = window.location;
       url = urlCurrent_AddPara("find__TenCot",gt_TenCot);    
       window.location.href =url ;
    });

4. Thêm nhóm và dưới button, có kích hoạt màu khi chọn vào
Tham khảo tạo json nhóm của trang hiện tại không cần tạo query thêm


Tạo dữ liệu json bằng cách
Cách 1: /iif-admin/xmlgetdata#rendata

Cách 2: /module/data/?file=ChungTu_NoiDung_DM.xml&obj=xml_data&distinct=Nhom
Vào xmlObject -> Grid view -> Grid_Page_AddHtml

<script>
$(document).ready(function(){
 $( ".grv_button" ).append("<div class='grv_button_loading'>Loadding...</div>"  );
 $.get("/Adminxml/xml_getdata.aspx?file=iif_sv_KhuVuc_Nhom.xml&rendata=json", function(data, status){
      nhom_dang_chon=urlGetValuePara('find__Nhom');
    
   // alert(data.length);
      var html_add="<div class='p-2 mr-2'>";
        $.each(data, function (index, itemData) {  // data.Q1 nếu là dataset
            tenhom=itemData.TenNhom;
           if(nhom_dang_chon==itemData.TenNhom)
               tenhom="<strong class='text-danger'>"+itemData.TenNhom+"</strong>";         
          html_add +=" <a class='btn btn-outline-primary mb-1' href='"+ urlCurrent_AddPara('find__Nhom',itemData.TenNhom)  +"' '><i class='fas fa-link'></i> "+tenhom+ ""  +"</a>";          // itemData.TenNhom
           
        });
        //Add link Quan ly danh muc
         html_add +=" <a class='btn btn-primary mb-1' href='/Adminxml/xml_getdata.aspx?file=iif_sv_KhuVuc_Nhom.xml' '><i class='fas fa-list-ol'></i> * Quản lý nhóm</a>";
         html_add +="</div>";
        $( ".grv_button" ).append(  html_add );
          $( ".grv_button_loading" ).hide();
        
        
  });//$.get
});//document
</script>

Ví dụ 2:


<script>
$(document).ready(function(){
 $( ".grv_button" ).append("<div class='grv_button_loading'>Loadding...</div>"  );
 $.get("/module/data/?file=ChungTu_NoiDung_DM.xml&obj=xml_data&distinct=Nhom", function(data, status){
      nhom_dang_chon=urlGetValuePara('find__Nhom');
   // alert(data.length);
      var html_add="<div class='p-2 mr-2'>";
        $.each(data, function (index, itemData) {  // data.Q1 nếu là dataset
            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 mb-1' href='"+ urlCurrent_AddPara('find__Nhom',itemData.Nhom)  +"' '><i class='fas fa-link'></i> "+tenhom+ ""  +"</a>";          // itemData.Nhom
           
        });
         html_add +="</div>";
        $( ".grv_button" ).append(  html_add );
          $( ".grv_button_loading" ).hide();
        
        
  });//$.get
});//document
</script>

 

5. Tùy chọn nhiều giao diện hiển thị
Tham khảo: https://iif.vn/iif-admin/xmlgetdata#lenh_url
                    Tìm đến tham số  _s_file_pr

6. Tạo giao diện thống kê dữ liệu
   Tạo thêm 1 giao diện trong xmlObject  (tham khảo mục 5)
    Cấu hình lệnh trong Grid_Config

 {statisticsData:
GroupBy:TenCotNhom1;TenCotNhom2
ColumnAdd:TenCotThem1;TenCotThem2
Compute:Max(TenCotTinh1);Max(TenCotTinh2)
Sort:TenCotSapXep
:statisticsData}

Nếu 1 cột không cần ;

Tham khảo: https://iif.vn/iif-admin/sysobject-grid-view#Grid_Config

7. Thêm link vào cột bằng cách lấy giá trị cột khác với jquery
   Tạo thêm 1 giao diện trong xmlObject  (tham khảo mục 5)
    Cấu hình

Ví dụ: trong TH cột _SYS_KEY là giá trị nhưng bị ẩn, nhưng muốn hiển thị ra ngoài.

 

<script>
    $( '.grv_col_NumOrder' ).each(function( index ) {
        if(index >0)
        {
              gt_val_cur=  $('.grv_col_LoaiPhieu').eq(index).html();  
              var key_SYS= ( $('input[name=_SYS_KEY]').eq(index-1).val()   );     
             var html_set="<span class='ml-2 badge badge-danger'>ID="+key_SYS+"</span>";
            $('.grv_col_NumOrder').eq(index).append(html_set);  
           }
    });
</script>

   <script>
    $( '.grv_col_LoaiPhieu' ).each(function( index ) {
        if(index >0)
        {
              gt_val_cur=  $('.grv_col_LoaiPhieu').eq(index).html();  
             //alert( $('input[name=_SYS_KEY]').eq(index-1).val()   );
            s_html="<a target='_blank' href='/Adminxml/xml_getdata.aspx?file=iif_sv_ChungTu_Loai_CauHinh.xml&find__LoaiChungTu="+$('input[name=_SYS_KEY]').eq(index-1).val()+"'><i class='fas fa-paperclip'></i> "+gt_val_cur+"</a>";  
           // alert(s_html);
            $('.grv_col_LoaiPhieu').eq(index).html(s_html);  
           }
    });
</script>

Ví dụ 2:

<script>
    $( '.grv_col_MoTaTinhTrang' ).each(function( index ) {
        if(index >0)
        {
              gt_val_cur=  $('.grv_col_LoaiPhieu').eq(index).html();  
              var key_SYS= ( $('input[name=_SYS_KEY]').eq(index-1).val()   );     
             var html_set="<span class='ml-2 badge badge-danger'>ID="+key_SYS+"</span>";
            $('.grv_col_MoTaTinhTrang').eq(index).append(html_set);  
           }
    });
</script>


 

Mục liên quan: