2013-10-22 3 views
13

मैं अपने एएसपीनेट एमवीसी वेब अनुप्रयोग में jqgrid को कार्यान्वित कर रहा हूं।गतिशील रूप से jqgrid कॉलम को कैसे छिपाना है

मेरे ग्रिड में मेरे पास दो कॉलम संपादित और हटाए गए हैं। हटाएं केवल तब दिखाई देनी चाहिए जब उपयोगकर्ता व्यवस्थापक के रूप में लॉग इन हो।

हम गतिशील रूप से कैसे छिपा सकते हैं। Jqgrid में कॉलम दिखाएं। मेरे पास यह देखने के लिए एक सत्र चर है कि लॉग इन उपयोगकर्ता व्यवस्थापक है या नहीं।

मैं जावास्क्रिप्ट में उस चर का उपयोग कर रहा हूं। लेकिन, मुझे यकीन नहीं कैसे छिपा कर सकते हैं jqgrid

कृपया मदद में/शो स्तंभ ..

उत्तर

12

यह एक काम किया:

$("#list").hideCol("ColumnName") 
17

इस कोड का प्रयोग करें,

jQuery("#list").jqGrid('hideCol',["colModel1_name","colModel2_name"]); 
jQuery("#list").jqGrid('showCol',["colModel1_name","colModel2_name"]); 

आप इस मदद मिल सकती है।

+0

@ Vinoth..what colmodel1 और colmodel2 कर रहे हैं? –

+0

दोनों आपके कॉलमोडेल परिभाषा में नाम हैं जो वे कॉलम हैं जिन्हें आप छिपाना चाहते हैं। –

+0

क्या होगा यदि मुझे एड फॉर्म संवाद में colModel को छिपाने की आवश्यकता है? मैंने पहले शोफॉर्म में यह कोशिश की लेकिन यह काम नहीं किया, – jstuardo

2

इस js उपयोग करने के लिए अपने सुरक्षा प्रबंधन करने के लिए सबसे अच्छा अभ्यास नहीं है। आपको इस कॉलम को अपने सर्वर की तरफ नहीं दिखाना चाहिए!

+0

मैं सत्र जानकारी के आधार पर सर्वर पक्ष से उस जावास्क्रिप्ट को कॉल कर रहा हूं। तो, मुझे लगता है कि मैं इसे सर्वर की ओर से डोंग कर रहा हूं। मुझे लगता है कि jqgrid पूरी तरह से jQuery प्लगइन है। मुझे लगता है कि jquery का उपयोग करने के बजाय इसे करने का कोई दूसरा तरीका नहीं है .. –

+0

मैं @Suwer से सहमत हूं - मैं सर्वर का प्रोग्रामेटिक रूप से कॉलम मॉडल लिखने के लिए उपयोग करता हूं। यदि उपयोगकर्ता को अनुमति नहीं है, तो, हटाएं कॉलम कभी भी उनके ब्राउज़र पर नहीं लिखा जाता है। यह 'छुपा' नहीं है जहां वे इसे दृश्य-स्रोत में खोज सकते हैं .. यह बस * वहां नहीं है * – bkwdesign

8

नई एपीआई

jQuery("#list").jqGrid('hideCol',["ColumnName","ColumnName2"]); 

पुराने एपीआई

$("#list").hideCol("ColumnName") 
संबंधित मुद्दे