private void GridTickersOnUserHitCell(object sender, MouseEventArgs mouseEventArgs, int rowIndex, FastColumn col) { if (mouseEventArgs.Button != MouseButtons.Left) { return; } var sets = (TagGraphics)gridTickers.rows[rowIndex].ValueObject; // добавить строку if (sets.IsNewRowDummy) { var newSets = new TagGraphics { Symbol = DalSpot.Instance.GetTickerNames().First(), BarSettings = BarSettingsStorage.Instance.GetCollection().First() }; // копировать существующую? var setsSpec = gridTickers.rows.Select(r => (TagGraphics)r.ValueObject).FirstOrDefault(r => r.IsNewRowDummy == false); if (setsSpec != null) { newSets.Symbol = setsSpec.Symbol; newSets.BarSettings = setsSpec.BarSettings; } var setsList = gridTickers.rows.Select(r => (TagGraphics)r.ValueObject).ToList(); setsList.Add(newSets); gridTickers.DataBind(setsList); AnchorDummyRow(); gridTickers.Invalidate(); return; } // всплывающий диалог if (col.PropertyName == TagGraphics.speciman.Property(s => s.Symbol) || col.PropertyName == TagGraphics.speciman.Property(s => s.TimeframeString)) { // показать combobox - выбор тикера / таймфрейма var coords = gridTickers.GetCellCoords(col, rowIndex); var list = col.PropertyName == TagGraphics.speciman.Property(s => s.Symbol) ? listTickers : listTimeframes; list.Width = col.ResultedWidth; var popup = new DropDownListPopup(list); popup.Show(gridTickers, coords.X, coords.Y + gridTickers.CellHeight); list.cellClicked = (obj, text) => { if (list == listTickers) { sets.Symbol = text; } else { sets.TimeframeString = text; } gridTickers.UpdateRow(rowIndex, sets); gridTickers.InvalidateCell(col, rowIndex); }; return; } // удаление gridTickers.rows.RemoveAt(rowIndex); gridTickers.Invalidate(); }
private void GridTickersOnUserHitCell(object sender, MouseEventArgs mouseEventArgs, int rowIndex, FastColumn col) { if (mouseEventArgs.Button != MouseButtons.Left) return; var sets = (TagGraphics) gridTickers.rows[rowIndex].ValueObject; // добавить строку if (sets.IsNewRowDummy) { var newSets = new TagGraphics { Symbol = DalSpot.Instance.GetTickerNames().First(), BarSettings = BarSettingsStorage.Instance.GetCollection().First() }; // копировать существующую? var setsSpec = gridTickers.rows.Select(r => (TagGraphics)r.ValueObject).FirstOrDefault(r => r.IsNewRowDummy == false); if (setsSpec != null) { newSets.Symbol = setsSpec.Symbol; newSets.BarSettings = setsSpec.BarSettings; } var setsList = gridTickers.rows.Select(r => (TagGraphics) r.ValueObject).ToList(); setsList.Add(newSets); gridTickers.DataBind(setsList); AnchorDummyRow(); gridTickers.Invalidate(); return; } // всплывающий диалог if (col.PropertyName == TagGraphics.speciman.Property(s => s.Symbol) || col.PropertyName == TagGraphics.speciman.Property(s => s.TimeframeString)) { // показать combobox - выбор тикера / таймфрейма var coords = gridTickers.GetCellCoords(col, rowIndex); var list = col.PropertyName == TagGraphics.speciman.Property(s => s.Symbol) ? listTickers : listTimeframes; list.Width = col.ResultedWidth; var popup = new DropDownListPopup(list); popup.Show(gridTickers, coords.X, coords.Y + gridTickers.CellHeight); list.cellClicked = (obj, text) => { if (list == listTickers) sets.Symbol = text; else sets.TimeframeString = text; gridTickers.UpdateRow(rowIndex, sets); gridTickers.InvalidateCell(col, rowIndex); }; return; } // удаление gridTickers.rows.RemoveAt(rowIndex); gridTickers.Invalidate(); }