public void DrawEmptyRow(IGraphics gfx, TableGadget.TableRow row) { foreach (var cell in row.Cells) { DrawEmptyCell(gfx, cell); } }
public void DrawTable(IGraphics gfx, TableGadget gadget) { var frame = gadget.TableRect; DrawBox(gfx, frame, ShinePen, ShadowPen); frame.Inflate(-1, -1); gfx.SaveState(); gfx.SetClip(frame.X, frame.Y, frame.Width, frame.Height); int start = gadget.FirstVisibleRow; int end = gadget.LastVisibleRow; gfx.Translate(frame.X, frame.Y); TableGadget.TableRow row = null; for (int i = start; i < end && i < gadget.Rows.Count; i++) { row = gadget.Rows[i]; DrawRow(gfx, row); } if (row != null) { if (row.Y + gadget.RowHeight < frame.Bottom) { DrawEmptyRow(gfx, row); } } gfx.RestoreState(); }