xml_getdata một số nghiệp vụ

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>

Ví dụ thêm link vào

 

<script>
    $( '.grv_col_KEYCT' ).each(function( index ) {
        if(index >0)
        {
              gt_val_cur=  $('.grv_col_KEYCT').eq(index).html();  
              link_op="/adminxml/xml_form_ds.aspx?name=BanHang_iif_sv/BanHang&key_chungtu="+gt_val_cur;
             var html_set="<a class='bt_open_w_pIIF  btn btn-outline-success btn-sm' p_l='"+link_op+"'  p_w='1100px' p_h='700px' p_t='Tên_cửa_sổ' data-toggle='modal' data-target='#Obj_popup_pIIF'  href='#'><i class='fas fa-bookmark'></i> Xem</a>";
             link_xoa_LINK="/adminxml/Query_Do.aspx?name=BanHang_iif_sv/XoaChungTu_key&out=json&key="+gt_val_cur;
             link_xoa=" <a class='bt_open_w_pIIF_alert btn btn-outline-danger btn-sm' p_alert='Xóa ? (nhấn F5 sau khi xóa)' p_l='"+link_xoa_LINK+"'  p_w='700px' p_h='300px' p_t='Xóa ?' data-toggle='modal' data-target='#Obj_popup_pIIF'  href='#'><i class='fas fa-trash'></i> Xóa ? </a>";
             
            $('.grv_col_KEYCT').eq(index).html(html_set+link_xoa);  
           }
    });
</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>

 Ví dụ: lấy dữ liệu từ trang get_data với dạng json, để tham chiếu 1 cột nào đó từ json


<script>
  $(".title_frm_span").html("Đang nạp...");
 url_get_json="/Adminxml/xml_getdata.aspx?file=iif_sv_ChungTu_Loai_CauHinh_Help.xml&rendata=json";
 $.get(url_get_json, function(data, status){              
       
       $( '.grv_col_Ma' ).each(function( index ) {
        if(index >1)
        {
              gt_val_cur=  $('.grv_col_Ma').eq(index).html();  
             // alert(gt_val_cur);
              data_tim = data.filter(obj =>  obj.Ma==gt_val_cur);
               //alert(JSON.stringify(data_tim ) );
              if( data_tim.length>0) gt_val_cur=data_tim[0].MoTa;
              
              var html_set="<span class='ml-2 badge badge-danger'>"+gt_val_cur+"</span>";
             
            $('.grv_col_Ma').eq(index).append("<br>"+html_set);
        }//if
           
    });//each
       $(".title_frm_span").html("");         
  }); //get    
</script>
 

Bài viết liên quan:

xml_getdata một số nghiệp vụ