Grid_Field_Display
Grid_Field_Hidden
Grid_Field_Format
Grid_Field_Add
Grid_Field_Update
Grid_Field_Input
Field_Css_ClassName
Grid_ColWidth
Grid_Field_Sum
Grid_TdColumn_HTML
Grid_Button
Grid_TempGridview
Grid_TempHTMLFile
Grid_Describe_Hearder
Grid_TreeNode_Sum
Grid_TreeNode_Temp_Link
Grid_TreeNode_Temp_Link_Count
Grid_Page_AddHtml
Grid_AddDatable
Grid_AddDatable_Row
Grid_Config
- Grid_Field_Display
Danh sách cột cần hiển thị
Ví dụ:
Ma
HoTen
Lop
Nếu table có nhiều trường, ko gõ lại nhưng cần 1 cột nào đó theo vị trí chỉ định thì
TênCột:vị_trí
Ví dụ:
Lop:3
-> Thì sẽ hiển thị hết các cột theo thứ tự trong xml, nhưng cột Lop được sắp xếp thứ 3
- Grid_Field_Hidden: danh sách cột ẩn, các cột cách nhau dấu enter
- Grid_Field_Format: Định dạng lại hiện thị tên cột, có chữ {0} để nạp nội dung.
* Thay thế ký tự xuống hàng bằng thẻ br
GhiChu:{rec:GhiChu<sysR:HtmlEncode_br:sysR>:rec}
* Các ví dụ khác:
Ví dụ: Name:<div class="Name">{0}</div>
<img src="{0}" alt="Chưa có ảnh" width="100px">
1. Cú pháp:
TênTrường: str {0} str
2. Kiểu định dạng
Kiểu dịnh dạng chữ:
* str là chữ muốn định dạng
Ví dụ 1: muốn cột ThanhTien của GridData có thêm vnđ phía sau
ThanhTien: {0} vnđ.
Ví dụ 2: muốn cột tên đậm lên
HoTen:<strong>{0}</strong>
Kiểu dịnh dạng số:
ThanhTien: {0:n0} vnđ.
Kiểu dịnh dạng ngày:
Ngay: {0:dd/MM/yyyy}
Ngay: {0:dd/MM/yyyy HH:ss}
Kiểu dịnh dạng tham chiếu HtmlLayout:
Tên trường: $TênIDLayout
Ví dụ: Link:link/->/XEM/-/blank
Kiểu dịnh dạng tham chiếu cột khác:
TênTrường:{0} {rec:TenTruongThamChieu:rec}
Ví dụ:
HoTen:<strong>{0} {rec:PhongBan:rec}</strong>
{r:PhongBan} -> tham chiếu giá trị cột Phòng Ban.
.... CHÚ Ý: có thể dùng lệnh <inputHtml:TEN_CONTRORT:inputHtml>
Ví dụ: Ma: {0} <inputHtml:Grid_Filter:inputHtml>
- Grid_Field_Add
Thêm cột hiển thị vào GridData
Cú pháp:
Trường 1: Biểu thức 1/exp/kiểu
Trường 2: Biểu thức 2/exp/kiểu
Trường n: Biểu thức n/exp/kiểu
Kiểu: String , Int16 , Int32 , Int64 , Double , Decimal, Boolean
Biểu thức:
Gia:1 * 2 -> có thể dùng 4 phép toán cơ bản + - * /
Ví dụ: TT:SL*DG / 100
Nối 2 chuổi lại với nhau, kiểu phải là String và biểu thước: [Truong 1] + [Truong 2]
Thêm ký tự cố định: [Truong 1] +':'+ [Truong 2] -> chữ để trong dấu ' '
Ví dụ:
ChietKhau:CK*TT/100
TT:SL*DG + ChietKhau
ChenhLech:iif(ChietKhau>0,'Được CK','Ko')
CotThem:'Dòng chữ cần thêm'
* bỏ trong dấu ' khi là chữ
Sau khi thêm thêm vào Grid_Field_ADD , ta nhập tên trường vào cột
* Ví dụ thêm làm thẻ style
** AddOrder:'<div style="display:{rec:_Display:rec}">X</div>
* Xử lý
NumOrder_: iif(_SYS_ParentLevel=1,'<strong>'+NumOrder+'</strong>' ,iif(_SYS_ParentLevel=2,' --'+NumOrder,''))
Grid_Field_Update
- Sau khi cột được thêm cần xử lý lại 1 lần nữa., quá trình được tính toán khi For dữ liệu theo từng row
TenCot:{rec:TenCot:rec}*2
Nếu tính toán xong làm tròn số
TenCot:{rec:TenCot:rec}*2{cmd:Round:cmd}
Nếu lỗi trong tính toán trả về giá trị chỉ định thì thêm thẻ err
TenCot:{rec:TenCot:rec}*2{err:0:err}
Ví dụ tham chiếu đến file xml khác để tính SUM
RealIncome:{DataCurrent_ThuChi:Compute/->/Sum(Thu)/-/Nhom='{rec:Name__:rec}'/-/:DataCurrent_ThuChi}
RealCost:{DataCurrent_ThuChi:Compute/->/Sum(Chi)/-/Nhom='{rec:Name__:rec}'/-/:DataCurrent_ThuChi}
DataCurrent_ThuChi: thì ThuChi là tên DataTable được thêm trong
Grid_AddDatable
ThuChi/->/ThuChi/2022.xml
Field_Css_ClassName
Dùng để class vào
TenCot: Tên Class thêm vào
** dùng thể thay đổi màu nền, màu chữ
-> Màu chữ và màu nền
- Grid_ColWidth: độ rộng cột
Ví dụ:
Icon:2%
NumOrder_:7%
- Grid_TreeNode_Sum
Nếu có cấp cha, thì tổng số cấp con hiển thị bên dưới, nếu để trống là 0 có, giống như sơ đồ của gia phả.
- Grid_TreeNode_Temp_Link
Để trống / Html tự soạn / $mã ID LayoutHTML
Để trống lấy mẫu mặc định tên: getdata_parent_link Html trong HtmlModule
Hay dùng mẫu có sẵn trong LayoutHTML , bằng cách nhập dấu $mã ID LayoutHTM
Nếu muốn mỗi cấp có style khác nhau, ta nhập như sau: $mã ID LayoutHTML;$mã ID LayoutHTML_2;$mã ID LayoutHTML_3 ..... cách nhau dấu ; , thứ tự lấy sẽ là cấp 0 ; cấp 1 ; cấp 2
- Grid_TreeNode_Temp_Link_Count
Định dạng hiển thị số lượng cấp con, khi hiển thị ra có dạng ví dụ: Phòng kế toán (2)
- Để trống lấy mẫu mặt định tên: getdata_parent_link_count Html có dạng: ({0})
- Hay dùng mẫu có sẵn trong LayoutHTML , bằng cách nhập dấu $mã ID LayoutHTM Nếu muốn mỗi cấp có style khác nhau, ta nhập như sau: $mã ID LayoutHTML;$mã ID LayoutHTML_2;$mã ID LayoutHTML_3 ..... cách nhau dấu ; thứ tự lấy sẽ là cấp 0 ; cấp 1 ; cấp 2
- [hidden] để không hiện thị số lượng.
Đối với Grid_TreeNode_Temp_Link và Grid_TreeNode_Temp_Link_Count
--> Nhập #:$$$ để định dạng theo cấp
Ví dụ: mẫu mặc định là getdata_parent_link , ta thêm _p01 --> p03
Được lấy tương ứng cấp 1: getdata_parent_link_p1 , cấp 2: getdata_parent_link_p2 .....
Ví dụ:
Kế toán
---| Thủ quý
---| Ngân sách
Dấu --- và | cấu hình tại /Adminxml/xml_getdata.aspx?file=SysText.xml
- Grid_Button
Nếu để trống hệ thống lấy mặc định tại /App_Data/html/xml_getdata/button.htm
Nếu muốn đổi lại ví dụ nhập như sau
<div style="margin-bottom:5px" class="grv_button">
<a class="btn btn-success mr-1 bt_grv_add" type="a" href="xml_form.aspx?file={url:file:url}&state=add&url_back={url:[url_current_ec]:url}" ><i class="far fa-plus-square"></i> THÊM</a>
</div>
- Grid_TdColumn_HTML
Trong lưới grid muốn thay thế lại 2 cột tít chọn và sửa
(Mẫu html lấy mẫu tại /app_Data/html/xml_getdata/gridview.htm)
*** Trong file gridview.htm có đoạn <#tb_tr: ..... :tb_tr#>
----------------
<#tb_tr:
<tr>
<td class="text-center sorting_1" style="width: 1%;" data-dt-row="0" data-dt-column="0">
<input name="__SYS_chk_Row_{RowNumber}" type="checkbox" />
<input name="_SYS_KEY" type="hidden" value="{rec:_SYS_KEY:rec}">
</td>
<td class="text-center" style="width: 1%;" data-dt-row="0" data-dt-column="1"><a class="mau_xanh" href="xml_form.aspx?file={rec:_SYS_Path:rec}&_SYS_KEY={rec:_SYS_KEY:rec}&state=edit{url:%find__%/-/&{n}={v}:url}{url:config_%/-/&{n}={v}:url}&url_back={url:[url_current_ec]:url}"><i class="fas fa-edit "></i></a></td>
{_tr_row_}
</tr>
:tb_tr#>
Ví dụ nhập lại Grid_TdColumn_HTML:
<tr>
<td class="text-center sorting_1" style="width: 1%;" data-dt-row="0" data-dt-column="0">
<input name="__SYS_chk_Row_{RowNumber}" type="checkbox" />
<input name="_SYS_KEY" type="hidden" value="{rec:_SYS_KEY:rec}">
</td>
<td class="text-center" style="width: 1%;" data-dt-row="0" data-dt-column="1"><a class="mau_xanh bt_xemphieu_list" p_l="report.aspx?name=BanHangOnline/mayinnhiet&id={rec:ID_BanHang:rec}&set__Query=BanHangOnline/DonHangChiTiet_Ngay&file={url:file:url}" p_w="500px" p_h="600px" p_t="Phiếu" data-toggle="modal" data-target="#Obj_popup_pIIF" href="#">[Xem phiếu]</a></td>
{_tr_row_}
</tr>
- Grid_TempGridview
Nếu để trống hệ thống lấy mặc định tại /App_Data/html/xml_getdata/gridview.htm
Nếu muốn đổi lại ví dụ nhập như sau
** Nếu muốn tham chiếu file riêng
~App_Data/html_form/vidu.htm
file html thiết kế nên để ở App_Data/html_form
* Nếu nhập đơn thuần vidu.htm thì mặc định vidu.htm nằm ở /App_Data/html
* Nếu nhập đơn thuần xml_getdata/vidu.htm thì mặc định vidu.htm nằm ở /App_Data/html/xml_getdata
- Grid_TempHTMLFile
Là cấu trúc html của toàn bộ file
** Để trống tham chiếu mặc định App_Data/html/xml_getdata.html
** Nếu muốn tham chiếu file riêng
~App_Data/html_form/vidu.htm
file html thiết kế nên để ở App_Data/html_form
* Nếu nhập đơn thuần vidu.htm thì mặc định vidu.htm nằm ở App_Data/html/vidu.html
- Grid_Describe_Hearder
Thêm 1 link
<a target=_blank href="#" class="btn btn-primary" role="button" >Tạo nhanh</a>
- Grid_Page_AddHtml
Nếu muốn thêm html và css sau lưới gridview
Ví dụ thêm css để điều chỉnh cột khi xem ở di động, màn hình nhỏ:
<style>
@media (max-width: 768px) {
.table .Name{
font-size:0.7em;
width:300px !important ;
}
}
</style>
Ngoài ra còn sử dụng javascript để lấy JSON, tham khảo /iif-admin/xmlgetdata-mot-so-nghiep-vu#4
- Grid_AddDatable
Thêm datatable vào bộ nhớ tạm để tính toán thêm cột....
dtLuong/->/Luong.xml/-/PhongBan='A'/-/TenPhong Asc/-/Distinct
Distinct: nhiều cột cách nhau dấu ,
- Grid_AddDatable_Row
cú pháp: TenCot1;TenCot2
cú pháp thêm lệnh: TenCot1*....;TenCot2
Mục đích: tại mỗi dòng dữ liệu để sinh html grid, ta cần lấy 1 data xml mà tên file được nhập từ giá trị xml
Ví dụ khi xem gridview danh sách nhân viên, tại mỗi row cần lấy 1 file xml lương theo giá trị nhập từ 1 cột chỉ định
Ta cần thêm 1 cột vào file nhanvien.xml là FileLuong
Ta nhập 1 nhân viên a, ta nhập giá trị cột FileLuong là luong_a.xml
Thì ngay row xử lý sẽ lấy 1 DataTable FileLuong
Và lệnh gõ trong các cột khác để tính toán:
{DataCurrent_FileLuong:Ten/->/ts01/-/ts02/-/ts03:DataCurrent_FileLuong}
{DataCurrent_FileLuong:Compute/->/Ham(Truong)/-/Loc/-/Format/-/NeuRongThi:DataCurrent_FileLuong}
Giá trị lấy từ cột được áp dùng lệnh, ví dụ nhập giá trị {rec:Cot:rec} để lấy giá trị cột có tên chỉ định
Tham khảo lệnh tại: /iif-admin/su-dung-lenh-trong-mau-html
Nếu dữ liệu lấy có cấp cha con chú ý: để thêm lệnh gán thêm cột Tên Cha và mỗi dòng ta thêm
Grid_AddDatable_Row
TenCot*HasKeyParentAddNameP:X
X là tên cột NAME trong cấu trúc dữ liệu có cấp cha con.
Grid_AddDatable_Row
FileLuong*HasKeyParentAddNameP:X
Với Name là cột tên hiển thị dữ liệu, khi đó Data tự thêm cột tên SYS_Name_Parent , tức là tên của bảng ghi cha
(để thống kê số lượng cấp cha có bao nhiêu row con)
- Grid_Field_Sum
Ví dụ file xml có cột Luong và Thuong
Nhập là
Luong
Thuong
thì cuối lưới sẽ cộng tổng lại cho 2 cột trên
- Grid_AddDatable
Nạp 1 DataTable từ file xml khác vào bộ nhớ tạm để xử lý tính toán
Cú pháp:
TenDataTable/->/File.xml
Ví dụ:
ThuChi/->/ThuChi/2022.xml
- Grid_AddDatable_Row
Khi xử lý vòng lặp, tại datarow sẽ nạp 1 table tùy theo giá tri của cột, mục đích để tính toán
TenCot*Lệnh_bổ_sung
Ví dụ:
PlanData*HasKeyParentAddNameP:Name
Sau đó tại Grid_Field_Add ta thêm lệnh:
TênCộtTrênGrid:'html.... {DataCurrent_TenCot:Compute/->/Hàm(Cột)/-/Điều_kiện/-//-/0:DataCurrent_TenCot}'
Ví dụ:
{DataCurrent_PlanData:Compute/->/Count(_SYS_KEY)/-/SYS_Name_Parent="Đã xong"/-//-/0:DataCurrent_PlanData}
Tham khảo hàm DataCurrent
xx
-Grid_Config
js_int_DataTable_file: thay đổi lại file int DataTable.net
{js_int_DataTable_file:ĐườngDẫnFile:js_int_DataTable_file}
Ví dụ: ĐườngDẫnFile là js_int_DataTable2.htm
thì sẽ tự tham chiếu đến App_Data/html/xml_getdata/js_int_DataTable2.htm
Hay
~App_Data/html_form/js_int2.html
js_DataTable_add: thêm lệnh cấu hình int datatable.net
{js_DataTable_add:lệnh_js:js_DataTable_add}
Ví dụ: lệnh_js viết lại là
stateSave: true
Nếu nhiều dòng viết cách dấu ,
stateSave: true,
order: [[3, 'desc']]
-- cấu trúc thay thế
$(document).ready(function() {
$('#dataTable').DataTable( {
_datatable_cf_add_
//cộng tổng
_datatable_cf_sum_
... code cau hinh DataTable
} );
} );
ví dụ thêm js cấu hình để ẩn dòng
tai Grid_Config : thêm dòng
{js_DataTable_add:
columnDefs: [
{
target: 0,
visible: false,
searchable: false
},
{
target: 1,
visible: false
}
]
:js_DataTable_add}
Cột 1 và cột 2 sẽ ẩn đi
statisticsData: Cấu hình để tạo ra dữ liệu thống kê
{statisticsData:
GroupBy:TenCotNhom1;TenCotNhom2
ColumnAdd:TenCotThem1;TenCotThem2
Compute:Max(Cot1);Max(Cot2)
:statisticsData}
nhiều cột cách nhau dấu ;. Max có thể đổi lại MIN...
Sử dụng chức năng này phải tạo thêm 1 xmlObject và ẩn 2 cột đầu để giao diện dễ nhìn
SysObject Grid view