2012-06-18 10 views
9

में कॉलम मान के आधार पर पंक्ति रंग बदलें Yii में, CGridView की पंक्ति में इसका स्वयं का पृष्ठभूमि रंग है। लेकिन मैं जो करना चाहता हूं वह कॉलम में से किसी एक के मूल्य के आधार पर विशेष पंक्ति को हाइलाइट करता है।CGridView

उदाहरण के लिए, मेरे पास तीन कॉलम, आईडी, नाम, स्थिति है। अब, यदि स्थिति का मान निष्क्रिय या 0 है, तो मुझे कुछ रंगों के साथ पंक्ति को हाइलाइट करना चाहिए।

मैंने कक्षा संदर्भ को संक्षेप में पढ़ा और इस साइट को भी खोजा। लेकिन प्रासंगिक समाधान नहीं मिला। अगर सही समाधान की ओर कुछ उदाहरण या कुछ दिशा है, तो इसकी सराहना की जाएगी।

धन्यवाद, उज्जवल

उत्तर

20

CGridView 'rowCssClassExpression' जिस तरह से आप क्या चाहते हैं पाने के लिए है।

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider, 
    'rowCssClassExpression'=>'($data->myFlag==0)?"normal":"especial"', 
    'columns'=>array(
    ... 
    ), 
)); 

आप कस्टम PHP फ़ंक्शन भी कॉल कर सकते हैं और $ डेटा वैरिएबल को पास कर सकते हैं। उस फ़ंक्शन को दिए गए पंक्ति के लिए कक्षा का नाम वापस करना चाहिए :)

+0

धन्यवाद, यह काम करता है !! –

+0

@ उज्जवल प्रजापति आपका स्वागत है :) – sucotronic

+0

मैं शाप था मैं yii/zii आईएनजी जबकि मैं इसके लिए googled। 'ठीक है!' के लिए खेद है टिप्पणी, लेकिन मैं आसानी से आसान फिक्स के लिए विशेष रूप से आभारी महसूस कर रहा हूँ। – tedders

1

उपयोग rowCssClass और अपने कार्यक्षमता के लिए rowCssClassExpression। मैंने इस कोड का परीक्षण नहीं किया लेकिन वह चाल जो आप अपना समाधान प्राप्त करने के लिए उपयोग कर सकते हैं।

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider, 
    'rowCssClass'=>array('odd','even'), 
    'rowCssClassExpression'=>($data->status==0)?even:odd, 
    'columns'=>array(
    ), 
)); 
+0

'rowCssClass' और 'rowCssClassExpression' [पारस्परिक रूप से अनन्य] हैं (http://code.google.com/p/yii/source/browse/tags/1.1 .10/ढांचे/zii/विजेट/ग्रिड/CGridView.php # 505) :( – sucotronic

+0

और साथ ही, जब मैं उद्धरण के बिना rowCssClassExpression मान का उपयोग करने का प्रयास करता हूं, यह काम नहीं करता है। स्थिति हमेशा गलत होती है। इसलिए, sucotronic सही है –

+0

मैंने कहा है कि मैंने इस कोड का परीक्षण नहीं किया है लेकिन चाल काम करेगी। –

संबंधित मुद्दे