List View Property change in child doctype

hi guys…

frappe.ui.form.on(‘BOM’, {
onload: function(frm,cdt,cdn){
var qty = frappe.meta.get_docfield(“BOM Item”,“qty”, cur_frm.doc.name);
var uom = frappe.meta.get_docfield(“BOM Item”,“uom”, cur_frm.doc.name);
var rate = frappe.meta.get_docfield(“BOM Item”,“rate”, cur_frm.doc.name);
var amount = frappe.meta.get_docfield(“BOM Item”,“amount”, cur_frm.doc.name);
var g_item_code = frappe.meta.get_docfield(“BOM Item”,“g_item_code”, cur_frm.doc.name);
qty.in_list_view = 0;
uom.in_list_view = 0;
rate.in_list_view = 0;
amount.in_list_view = 0;
g_item_code.in_list_view = 1;
frm.refresh_field(“items”);
}
})

This is working in onload event. but it is not working when i use inside other field events

my use case mentioned below
frappe.ui.form.on(‘BOM’, {
type: function(frm,cdt,cdn){
if(frm.doc.type == ‘General’){
var qty = frappe.meta.get_docfield(“BOM Item”,“qty”, cur_frm.doc.name);
var uom = frappe.meta.get_docfield(“BOM Item”,“uom”, cur_frm.doc.name);
var rate = frappe.meta.get_docfield(“BOM Item”,“rate”, cur_frm.doc.name);
var amount = frappe.meta.get_docfield(“BOM Item”,“amount”, cur_frm.doc.name);
var g_item_code = frappe.meta.get_docfield(“BOM Item”,“g_item_code”, cur_frm.doc.name);
qty.in_list_view = 0;
uom.in_list_view = 0;
rate.in_list_view = 0;
amount.in_list_view = 0;
g_item_code.in_list_view = 1;
frm.refresh_field(“items”);
}
}
})

And this is not working.please need help