private void OnSynchronized(int OpenID, int SlotID) { _slot = (Slot)_sf.GetSlot(0); _tables = (SlotTables)_slot.tables; int count = _tables.Count; for (int i = 1; i <= count; i++) { SlotTable table = (SlotTable)_tables.Item[i]; if (table.Name == "SECURITIES") { _securities_table = table; _securities_table.AddRow += OnAddRow; _securities_table.ReplEnd += OnReplEnd; _securities_table.Open(_slot.ID, _securities_table.Name, ""); // таблицу инструментов открываем сразу, а остальные таблицы после } if (table.Name == "TRDACC") { _trdacc_table = table; _trdacc_table.AddRow += OnAddRow; } else if (table.Name == "ALL_TRADES") { _all_trades_table = table; _all_trades_table.AddRow += OnAddRow; } else if (table.Name == "ORDERS") { _orders_table = table; _orders_table.AddRow += OnAddRow; _orders_table.UpdateRow += OnUpdateRow; } else if (table.Name == "STOPORDERS") { _stoporders_table = table; _stoporders_table.AddRow += OnAddRow; _stoporders_table.UpdateRow += OnUpdateRow; } else if (table.Name == "TRADES") { _trades_table = table; _trades_table.AddRow += OnAddRow; } else if (table.Name == "HOLDING") { _holding_table = table; _holding_table.AddRow += OnAddRow; _holding_table.UpdateRow += OnUpdateRow; } else if (table.Name == "POSITIONS") { _positions_table = table; _positions_table.AddRow += OnAddRow; _positions_table.UpdateRow += OnUpdateRow; } } }
private void OnReplEnd(int OpenID) { if (_securities_table != null && OpenID == _securities_table.ID) { _trdacc_table.Open(_slot.ID, _trdacc_table.Name, ""); _all_trades_table.Open(_slot.ID, _all_trades_table.Name, ""); _orders_table.Open(_slot.ID, _orders_table.Name, ""); _stoporders_table.Open(_slot.ID, _stoporders_table.Name, ""); _trades_table.Open(_slot.ID, _trades_table.Name, ""); _holding_table.Open(_slot.ID, _holding_table.Name, ""); _positions_table.Open(_slot.ID, _positions_table.Name, ""); } }