@@ -1178,7 +1178,6 @@ public ListViewPrinter()
1178
1178
{
1179
1179
}
1180
1180
1181
- #if ! WITHOUT_OBJECTLISTVIEW
1182
1181
/// <summary>
1183
1182
/// Get the nth item from the given listview, which is in virtual mode.
1184
1183
/// </summary>
@@ -1237,26 +1236,28 @@ protected override void PrintCell(Graphics g, ListView lv, ListViewItem lvi, int
1237
1236
return ;
1238
1237
}
1239
1238
1239
+ // Decide which renderer should be used for drawing the cell
1240
+ ObjectListView listView = ( ObjectListView ) lv ;
1240
1241
OLVColumn olvc = ( OLVColumn ) this . GetColumn ( column ) ;
1241
- BaseRenderer renderer = olvc . Renderer as BaseRenderer ;
1242
- if ( renderer == null )
1243
- renderer = ( ( ObjectListView ) lv ) . DefaultRenderer as BaseRenderer ;
1242
+ OLVListItem olvItem = ( OLVListItem ) lvi ;
1243
+ BaseRenderer renderer = listView . GetCellRenderer ( olvItem . RowObject , olvc ) as BaseRenderer ;
1244
1244
1245
1245
// We couldn't find a renderer we could use. Just use the default rendering
1246
1246
if ( renderer == null ) {
1247
1247
base . PrintCell ( g , lv , lvi , row , column , cell ) ;
1248
1248
return ;
1249
1249
}
1250
1250
1251
+ // Configure the renderer
1251
1252
renderer . IsPrinting = true ;
1252
1253
renderer . Aspect = null ;
1253
1254
renderer . Column = olvc ;
1254
1255
renderer . IsItemSelected = false ;
1255
1256
renderer . Font = this . CellFormat . Font ;
1256
1257
renderer . TextBrush = this . CellFormat . TextBrush ;
1257
- renderer . ListItem = ( OLVListItem ) lvi ;
1258
- renderer . ListView = ( ObjectListView ) lv ;
1259
- renderer . RowObject = ( ( OLVListItem ) lvi ) . RowObject ;
1258
+ renderer . ListItem = olvItem ;
1259
+ renderer . ListView = listView ;
1260
+ renderer . RowObject = olvItem . RowObject ;
1260
1261
renderer . SubItem = ( OLVListSubItem ) this . GetSubItem ( lvi , column ) ;
1261
1262
renderer . CanWrap = this . CellFormat . CanWrap ;
1262
1263
@@ -1274,7 +1275,6 @@ protected override void PrintCell(Graphics g, ListView lv, ListViewItem lvi, int
1274
1275
1275
1276
renderer . IsPrinting = false ;
1276
1277
}
1277
- #endif
1278
1278
}
1279
1279
1280
1280
/// <summary>
0 commit comments