private Rectangle GetValueBoundsByRecordIndex(DevExpress.XtraVerticalGrid.ViewInfo.BaseRowViewInfo vInfo, int recordIndex) { Rectangle bounds = Rectangle.Empty; foreach (RowValueInfo valueInfo in vInfo.ValuesInfo) { if (valueInfo.RecordIndex == recordIndex) { bounds = valueInfo.Bounds; break; } } return(bounds); }
private Rectangle GetBoundsByRecordIndex(int recordIndex, DevExpress.XtraVerticalGrid.ViewInfo.BaseViewInfo vi) { DevExpress.XtraVerticalGrid.ViewInfo.BaseRowViewInfo vInfo = vi.RowsViewInfo[0]; if (vInfo == null) { return(Rectangle.Empty); } Rectangle bounds = GetValueBoundsByRecordIndex(vInfo, recordIndex); if (vInfo.ValuesInfo.Count > recordIndex + 2) { bounds.Width += GetValueBoundsByRecordIndex(vInfo, recordIndex + 1).Right - bounds.Right; } else { bounds.Width += vi.RowsViewInfo[0].RowRect.Right - bounds.Right; } return(bounds); }