امروز:چهارشنبه ,۱۳۹۸/۰۴/۰۵
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Home / Yii1 / تنظیمات CGridView در Yii (قسمت چهارم)
آموزش فریمورک یی, آموزش فریم ورک یی, فریمورک یی, فریم ورک یی, فریمورکyii, فریم ورک yii, yiiframework, yii framework,

تنظیمات CGridView در Yii (قسمت چهارم)

در ادامه ی بحث شیرین CGridView تنظیمات مربوط به نامبرده را پیگیری میکنیم.

ویجت CGridView دارای تنظیمات و امکاناتیه که شما میتونین در خور فریم ورک با همه ی آنها آشنا بشین
کافیه مسیر زیر را دنبال کنین

framework\zii\widgets\grid

در این مسیر شما میتونین تنظیمات مربوط به خود gridview دکمه هاش و … را ببینید.
برای مثال
در CGridView سه دکمه ی پیش فرض داریم : update , delete , view
که تنظیمات مربوط به این قسمت در CButtonColumn می باشد. متد مربوط به این تنظیمات رو میتونین مشاهده کنین.

protected function initDefaultButtons()
{
if($this->viewButtonLabel===null)
$this->viewButtonLabel=Yii::t('zii','View');
if($this->updateButtonLabel===null)
$this->updateButtonLabel=Yii::t('zii','Update');
if($this->deleteButtonLabel===null)
$this->deleteButtonLabel=Yii::t('zii','Delete');
if($this->viewButtonImageUrl===null)
$this->viewButtonImageUrl=$this->grid->baseScriptUrl.'/view.png';
if($this->updateButtonImageUrl===null)
$this->updateButtonImageUrl=$this->grid->baseScriptUrl.'/update.png';
if($this->deleteButtonImageUrl===null)
$this->deleteButtonImageUrl=$this->grid->baseScriptUrl.'/delete.png';
if($this->deleteConfirmation===null)
$this->deleteConfirmation=Yii::t('zii','Are you sure you want to delete this item?');
foreach(array('view','update','delete') as $id)
{
$button=array(
'label'=>$this->{$id.'ButtonLabel'},
'url'=>$this->{$id.'ButtonUrl'},
'imageUrl'=>$this->{$id.'ButtonImageUrl'},
'options'=>$this->{$id.'ButtonOptions'},
);
if(isset($this->buttons[$id]))
$this->buttons[$id]=array_merge($button,$this->buttons[$id]);
else
$this->buttons[$id]=$button;
}
if(!isset($this->buttons['delete']['click']))
{
if(is_string($this->deleteConfirmation))
$confirmation="if(!confirm(".CJavaScript::encode($this->deleteConfirmation).")) return false;";
else
$confirmation='';
if(Yii::app()->request->enableCsrfValidation)
{
$csrfTokenName = Yii::app()->request->csrfTokenName;
$csrfToken = Yii::app()->request->csrfToken;
$csrf = "\n\t\tdata:{ '$csrfTokenName':'$csrfToken' },";
}
else
$csrf = '';
if($this->afterDelete===null)
$this->afterDelete='function(){}';
$this->buttons['delete']['click']=<<afterDelete;
jQuery('#{$this->grid->id}').yiiGridView('update', {
type: 'POST',
url: jQuery(this).attr('href'),$csrf
success: function(data) {
jQuery('#{$this->grid->id}').yiiGridView('update');
afterDelete(th, true, data);
},
error: function(XHR) {
return afterDelete(th, false, XHR);
}
});
return false;
}
EOD;
}
}

هر تغییری که میخواین انجام بدین و به عبارتی هر بلایی که دوس دارین میتونین بر سر کد های نامبرده بیارین.
در اصلاح اکستند Extend کنینش.
الان اگه به جدولتون نگاه کنین : میبینین که
یه آمار خلاضه ای از تعداد رکورد و تعداد اطلاعاتی که داره نمایش میده .
شکل زیر
summary

خوب برای تغییر این قسمت کافیه که summaryTextآن را اکستند کنیم

'summaryText' => 'نمایش {start} تا {end} از {count} رکورد',

در حالت کلی به این صورت هست:

$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'user-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'summaryText' => 'نمایش {start} تا {end} از {count} رکورد',
'emptyText' => 'موردی یافت نشد.',
.
.
.

emptyText هم متنی است که هنگامی که رکوردی یافت نشه نمایش داده میشه

این داستان ادامه دارد ….

Check Also

متد findByAttributes

استفاده از متد findByAttributes() در yii1 یکی از متد های CActiveRecord متد findByAttributes می باشد …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *