Можно ли отображать изображение в ячейке datagrid? Я сейчас работаю с компактным каркасом 3.5.отображение изображений в datagrid с Compact Framework
любые советы по этому вопросу?
Можно ли отображать изображение в ячейке datagrid? Я сейчас работаю с компактным каркасом 3.5.отображение изображений в datagrid с Compact Framework
любые советы по этому вопросу?
Единственный способ, которым я знаю, как это сделать, будет как трюк для рендеринга текстовых полей в сетке, используя трюк для рисования некоторых изображений по сетке.
Один из CF team posted something about customising the grid on their site.
Если вы можете использовать сторонние решения, взглянуть на Resco SmartGrid.
Это тот же процесс, делая multiline rows, changing row colors, making the text right-to-left или highlighting a row: вы должны custom draw.
Как и другие плакаты, вы прокомментировали, что вам нужно сворачивать самостоятельно. К счастью, это не слишком сложно.
В моем приложении мне понадобился способ нарисовать значок 16x16 в определенном столбце. Я создал новый класс, который наследуется от DataGridColumnStyle
, что упрощает применение к DataGrid
через объект DataGridTableStyle
.
class DataGridIconColumn : DataGridColumnStyle {
public Icon ColumnIcon {
get;
set;
}
protected override void Paint(Graphics g, Rectangle bounds, CurrencyManager source, int rowNum, Brush backBrush, Brush foreBrush, bool alignToRight) {
// Fill in background color
g.FillRectangle(backBrush, bounds);
// Draw the appropriate icon
if (this.ColumnIcon != null) {
g.DrawIcon(this.ColumnIcon, bounds.X, bounds.Y);
}
}
}
Вы можете видеть, что я определил общественную собственность ColumnIcon
поэтому я могу указать значок, мне нужно, чтобы отобразить вне этого класса.
Теперь, на самом деле использовать его на DataGrid, вы бы сниппет как:
DataGridTableStyle ts = new DataGridTableStyle();
DataGridIconColumn dgic = new DataGridIconColumn();
dgic.ColumnIcon = Properties.Resources.MyIcon;
dgic.MappingName = "<your_column_name>";
dgic.HeaderText = "<your_column_header>";
ts.GridColumnStyles.Add(dgic);
this.myDataGrid.TableStyles.Add(ts);
Это довольно простой пример применения DataGridTableStyle
- я на самом деле сделать много дальнейшей настройки на остальная часть моих столбцов DataGrid
. Но вам нужно начать с того, что вы хотите сделать.
http://www.cf-technologies.net/compactgrid.php. Вы можете использовать событие CustomDraw ячейки.
Если мне нужно загрузить изображение в ячейку ?? Как мне это сделать ? – user3383301