syncfusion-wpf-excel-like-grid — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-wpf-excel-like-grid (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The Syncfusion WPF GridControl is a high-performance, cell-oriented grid that functions as a flexible tabular display engine. It makes no assumptions about data structure, supports virtual (on-demand) data loading via QueryCellInfo, and provides Excel-like behaviors including formulas, import/export, clipboard operations, covered cells, and 20+ built-in cell types.
QueryCellInfo event📄 Read: references/getting-started.md
RowCount and ColumnCountQueryCellInfo virtual event📄 Read: references/cell-types.md
DropDownList, DateTimeEdit, IntegerEdit, DoubleEdit, CurrencyEdit, PercentEdit, MaskEdit, UpDownEdit, RichText, DataBoundTemplate, NestedGrid (ScrollGrid)
Style.CellType on individual cells or rangesChoiceList vs. ItemsSource📄 Read: references/appearance-and-styling.md
GridStyleInfo class and style inheritance hierarchyBaseStylesMap), TableStyle, RowStyles, ColumnStylesFormatProvider interface📄 Read: references/managing-rows-and-columns.md
SetHidden)📄 Read: references/editing-clipboard-undo.md
CopyPasteOption flags (CopyText, CopyCellData, PasteCell, CutCell, XmlCopyPaste)TextDataExchange for custom delimiters and buffer-based operationsIGridCopyPaste custom implementationCommandStack: Undo/Redo, BeginTrans, CommitTrans, Rollback📄 Read: references/interactive-features.md
AllowDragColumns)AllowDragDrop, DataObjectConsumerOptions)HiddenBorderBrush, SetHidden)📄 Read: references/formula-cells.md
FormulaCell type for individual cells or the entire grid📄 Read: references/excel-import-export.md
Syncfusion.XlsIO, Syncfusion.GridConverter.Wpf)hyperlinks, comments
📄 Read: references/selection-and-events.md
AllowSelection flags)QueryCellInfo event pattern for virtual data loadingPrepareRenderCell for view-specific overridesCommitCellInfo, CurrentCellActivated, clipboard events,RowsInserted, ColumnsMoved, ResizingRows, etc.
GridRangeInfo and SelectedRanges📄 Read: references/performance-virtualization.md
QueryCellInfo best practicesCoveredCells) and floating cells📄 Read: references/advanced-features.md
1. Add assemblies:
Syncfusion.Grid.Wpf
Syncfusion.GridCommon.Wpf,
Syncfusion.Linq.Base,
Syncfusion.Shared.Wpf
// 2. XAML — place GridControl inside a ScrollViewer
<ScrollViewer>
<syncfusion:GridControl x:Name="gridControl" />
</ScrollViewer>
// 3. Code-behind: set size and populate
gridControl.Model.RowCount = 100;
gridControl.Model.ColumnCount = 10;
// Option A — direct assignment
for (int i = 0; i < 100; i++)
for (int j = 0; j < 10; j++)
gridControl.Model[i, j].CellValue = $"{i}/{j}";
// Option B — virtual mode (preferred for large data)
gridControl.QueryCellInfo += (s, e) =>
{
if (e.Cell.RowIndex > 0 && e.Cell.ColumnIndex > 0)
e.Style.CellValue = $"{e.Cell.RowIndex}/{e.Cell.ColumnIndex}";
};// Set an entire column to CheckBox
for (int i = 1; i <= gridControl.Model.RowCount; i++)
gridControl.Model[i, 3].CellType = "CheckBox";gridControl.PrepareRenderCell += (s, e) =>
{
if (e.Cell.RowIndex > 0 && e.Cell.RowIndex % 2 == 0)
e.Style.Background = Brushes.LightSkyBlue;
};gridControl.Model.FrozenRows = 1;
gridControl.Model.HeaderRows = 1;
gridControl.BaseStylesMap["Standard"].StyleInfo.CellType = "FormulaCell";gridControl.Model.ExportToExcel(@"Output.xlsx", ExcelVersion.Excel2007);| Property | Purpose |
|---|---|
Model[r, c].CellType | Sets built-in or custom cell type string |
Model[r, c].CellValue | Data value stored in the cell |
Model[r, c].Background | Cell background brush |
Model[r, c].Foreground | Cell text color |
Model[r, c].Font.FontSize | Cell font size |
Model[r, c].Borders | Individual border pens (Top/Bottom/Left/Right) |
Model[r, c].Format | Format string (e.g., "C", "0.00", "d") |
Model.RowHeights[r] | Row height in device-independent units |
Model.ColumnWidths[c] | Column width |
Model.FrozenRows | Number of rows frozen at top |
Model.FrozenColumns | Number of columns frozen at left |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.