2017-10-03 3 views
1

kartik gridView를 사용하여 데이터를 표시하고 있습니다. 열에 너비를 제공하려고하지만 데이터가 셀 경계에서 넘치고 줄 바꿈하지 않습니다. 나는 다음과 같은 코드를 사용하고 있습니다 :Kartik gridView 텍스트가 셀에 줄 바꿈되지 않습니다.

$columns = [ 
    ['class'=>'kartik\grid\SerialColumn', 'width'=>'38px'], 

    [ 
     'attribute'=>'bill_number', 
     'vAlign'=>'middle', 
     'hAlign'=>'left',    
     'noWrap' => false, 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['html'], 
     'pageSummary'=>'Page Total' 
    ], 

    [ 
     'attribute'=>'bill_date', 
     'vAlign'=>'middle', 
     'hAlign'=>'left', 

     'noWrap' => false, 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
    ], 

    [ 
     'attribute'=>'party_name', 
     'vAlign'=>'middle', 
     'hAlign'=>'left', 

     'noWrap' => false, 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['html'], 
    ], 
    [ 
     'attribute'=>'assignment_name', 
     'vAlign'=>'middle', 
     'hAlign'=>'left',    
     'noWrap' => false, 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
    ], 

    [ 
     'attribute'=>'particulars', 
     'vAlign'=>'middle', 
     'hAlign'=>'left',    
     'noWrap' => false, 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['html'], 
    ],  

    [ 
     'attribute'=>'0-60 days', 
     'label'=>'0-60 days', 
     'vAlign'=>'middle', 
     'hAlign'=>'right', 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['decimal', 0], 
     'pageSummary'=>true 
    ], 

    [ 
     'attribute'=>'60-90 days', 
     'label'=>'60-90 days', 
     'vAlign'=>'middle', 
     'hAlign'=>'right', 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['decimal', 0], 
     'pageSummary'=>true 
    ], 

    [ 
     'attribute'=>'90-180 days', 
     'label'=>'90-180 days', 
     'vAlign'=>'middle', 
     'hAlign'=>'right',    
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['decimal', 0], 
     'pageSummary'=>true 
    ], 
    [ 
     'attribute'=>'>180 days', 
     'vAlign'=>'middle', 
     'hAlign'=>'right',    
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['decimal', 0], 
     'pageSummary'=>true 
    ], 
    [ 
     'attribute'=>'total', 
     'vAlign'=>'middle', 
     'hAlign'=>'right', 
     'headerOptions'=>['style'=>'max-width: 100px;'], 
     'contentOptions'=>['style'=>'max-width: 100px;'], 
     'format'=>['decimal', 0], 
     'pageSummary'=>true 
    ],  
]; 

echo GridView::widget([ 
    'columns'=>$columns, 
    'dataProvider'=>$dataProvider, 
    'floatHeader'=>true, 
    'floatHeaderOptions'=>['top'=>'50px'], 
    'floatOverflowContainer' => true, 
    'responsiveWrap'=>false, 
    'showPageSummary'=>true, 
    'resizableColumns'=>true, 
    'persistResize' => false, 
    'panel' => [ 
     'type'=>GridView::TYPE_PRIMARY, 

     'footer'=>false 
    ], 
    'containerOptions'=>['style'=>'overflow: auto'], 
]); 

이 친절 스크린 샷 내가 셀의 텍스트 줄 바꿈 및 해당 행의 최대 셀 높이에 따라 행 높이를 조정하려는 grid screenshot

에 모습을 가지고있다.

+0

사용해보십시오 [폭] (http://demos.krajee.com/grid#data-column) –

+0

이 스레드를 참조하십시오 : [kartik에있는 gridview 열에서 자동 랩 (https://stackoverflow.com/ 질문/33102752/auto-wrap-in-kartik-gridview-datacolumn) – iamsourabhh

답변

0

이 하나

[ 
    'class' => 'kartik\grid\DataColumn', 
    'attribute'=>'YOUR_ATTRIBUTE_NAME', 
    'headerOptions'=>['style'=>'max-width: 100px;'], 
    'contentOptions'=>['style'=>'max-width: 100px;vertical-align:middle'], 
    'format'=>'raw', 
    'value' => function($model) { 
      return "<p 'style'='max-width:150px; min-height:100px; 
      overflow: auto; word-wrap: break-word;'>". $model->YOUR_ATTRIBUTE_NAME."</p>"; 
    }, 
], 
+0

작동하지 않았습니다. 나는 스크린 샷을 친절하게보기로 붙이고있다. 이 gridview는 다른 gridview 내부에 중첩되어 있습니다. 이 정보가 도움이됩니까? – arun

0

이 시도하십시오 :

[ 
    'attribute'=>'attribute', 
    'value'=>function($data){ 
     return wordwrap($data->attribute,15,'<br>'); 
    } 
], 
0

, 그것은 도움이 될이보십시오.

[ 
     'attribute'=>'', 
     'header'=>'', 
     'value' => function ($dataProvider) { 
       return something; 
      }, 
     'format'=>'raw', 
     'contentOptions'=>['style'=>'width:80px;text-align:center;'] 
], 
관련 문제