﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Событие при изменении данных в таблице "Инструменты"</title>
  <id>~/topic/886/sobytie-pri-izmenenii-dannyh-v-tablitse-instrumenty/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-16T02:14:22Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=886" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/1663/</id>
    <title type="text">Вот, то, что нужно! только не securities.Find , а securities.First работает... Спасибо! </title>
    <published>2010-02-03T17:53:00Z</published>
    <updated>2010-02-03T17:53:00Z</updated>
    <author>
      <name>AndreiFX</name>
      <uri>https://stocksharp.com/users/28035/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Вот, то, что нужно!&lt;br /&gt;только не  securities.Find , а   securities.First работает...&lt;br /&gt;Спасибо! &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1662/</id>
    <title type="text">Сорри, дошло. Сам класс Security реализует для визуального обновления интерфейс INotifyPropertyChang...</title>
    <published>2010-02-03T14:38:00Z</published>
    <updated>2010-02-03T14:38:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Сорри, дошло.&lt;br /&gt;&lt;br /&gt;Сам класс Security реализует для визуального обновления интерфейс&lt;br /&gt;INotifyPropertyChanged. Именно его и использую виз. компоненты для&lt;br /&gt;обновления данных. Тоесть, Вам нужно найти нужный инструмент и&lt;br /&gt;подписаться у него на событие PropertyChanged. Тоесть:&lt;br /&gt;&lt;br /&gt;this.Trader.NewSecurities += securities =&amp;gt;&lt;br /&gt;{&lt;br /&gt;      var sec = securities.Find(s =&amp;gt; s.Code == &amp;quot;fgfghghgjh&amp;quot;);&lt;br /&gt;      ((INotifyPropertyChanged)sec).PropertyChanged += delegate&lt;br /&gt;{ MessageBox.Show(&amp;quot;обновление данных&amp;quot;); };&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1661/</id>
    <title type="text">Забыл сказать, что этот код я прописал в процедуре при нажатии на кнопку connect, т.е. там же, где п...</title>
    <published>2010-02-03T13:58:00Z</published>
    <updated>2010-02-03T13:58:00Z</updated>
    <author>
      <name>AndreiFX</name>
      <uri>https://stocksharp.com/users/28035/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Забыл сказать, что этот код я прописал в процедуре при нажатии на&lt;br /&gt;кнопку connect, т.е. там же, где подписываемся на все остальные события&lt;br /&gt;(из Вашего примера) &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1660/</id>
    <title type="text">Securities.CollectionChanged += (X, Y) =&amp;gt; { MessageBox.Show(&amp;quot;обновление данных&amp;quot;); }; однако месадж б...</title>
    <published>2010-02-03T12:47:00Z</published>
    <updated>2010-02-03T12:47:00Z</updated>
    <author>
      <name>AndreiFX</name>
      <uri>https://stocksharp.com/users/28035/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Securities.CollectionChanged += (X, Y) =&amp;gt;&lt;br /&gt;                        {&lt;br /&gt;&lt;br /&gt;                          MessageBox.Show(&amp;quot;обновление данных&amp;quot;);&lt;br /&gt;&lt;br /&gt;                       };&lt;br /&gt;&lt;br /&gt;однако месадж бокс выскакивает всего один раз при первом обновлении&lt;br /&gt;данных &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1659/</id>
    <title type="text">CollectionChanged должен работать. Именно на основе его контрол Grid перерисовывает новые значения. ...</title>
    <published>2010-02-03T12:18:00Z</published>
    <updated>2010-02-03T12:18:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">CollectionChanged должен работать. Именно на основе его контрол Grid&lt;br /&gt;перерисовывает новые значения. Почему Вы решили, что оно не&lt;br /&gt;срабатывает у Вас? Как Вы написали код работы с событием (+&lt;br /&gt;обработчик)?&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1658/</id>
    <title type="text">Я имел ввиду, что Securities в моем примере(также как и у вас в примере) - это экземпляр класса Obse...</title>
    <published>2010-02-03T11:35:00Z</published>
    <updated>2010-02-03T11:35:00Z</updated>
    <author>
      <name>AndreiFX</name>
      <uri>https://stocksharp.com/users/28035/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Я имел ввиду, что Securities в моем примере(также как и у вас в&lt;br /&gt;примере) - это экземпляр класса ObservableCollection, в которое&lt;br /&gt;заносим данные здесь&lt;br /&gt; this.Trader.NewSecurities += securities =&amp;gt;&lt;br /&gt;                        {&lt;br /&gt;                            this.Sync(() =&amp;gt; this.Securities.AddRange&lt;br /&gt;(securities));&lt;br /&gt;&lt;br /&gt;                       };&lt;br /&gt;Это событие работает нормально,также данные в таблицу, связанную с&lt;br /&gt;Securities идут корректно, обновляются и т.д., но мне нужно именно&lt;br /&gt;событие, которое генерируется, когда не только появляется новый&lt;br /&gt;элемент в коллекции, а когда происходит какое либо изменение...вообщем&lt;br /&gt;будем ждать следующего релиза.&lt;br /&gt;Спасибо &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1657/</id>
    <title type="text">Сразу обозначу определения. ObservableCollection - это специальный класс-коллекция для визуального о...</title>
    <published>2010-02-02T20:06:00Z</published>
    <updated>2010-02-02T20:06:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Сразу обозначу определения. ObservableCollection - это специальный&lt;br /&gt;класс-коллекция для визуального отображения. Никакого отношения к&lt;br /&gt;торговым объектам она не имеет. Так уж получилось, что ее можно&lt;br /&gt;использовать для этих средств (очень странно что не вызывается&lt;br /&gt;событие, у меня то как раз в примере все нормально).&lt;br /&gt;&lt;br /&gt;Еще хотел сказать. Вы в курсе, что QuikTrader работает в многопоточном&lt;br /&gt;режиме? Это означает, что из событий этого класса напрямую нельзя&lt;br /&gt;обращатся к визуальным контролам? Подробности -&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAABoSoqq38TMXVE5PRrh8SWH5OmEdeE4vUwNUWQ6CeN_DOVGf0UAlA9zDIknu0oOQ1hfasL433b3zjdR6l6pMj0woZCYiDCKbCzu7dunnelPzA" title="http://sergeyteplyakov.blogspot.com/2009/03/windows-forms-controlinvoke.html"&gt;http://sergeyteplyakov.blogspot.com/2009/03/windows-forms-controlinvoke.html&lt;/a&gt;.&lt;br /&gt;У меня есть вспогательный классы SynchronizedObservableList и&lt;br /&gt;XamlHelper.SyncXXX (первый использует второе).&lt;br /&gt;&lt;br /&gt;Я не делал событие SecuritiesChanged из-за того, что не думал, что кто-&lt;br /&gt;то будет работать на неликвидах. С ликвидами такое событие просто не&lt;br /&gt;нужно. Так как Вас запрос не единственный по поводу такого события, я&lt;br /&gt;его уже добавил в след. версию. Сейчас она на стадии стабилизации,&lt;br /&gt;затем допишу примеры и подправлю документацию. Думаю, будет готова в&lt;br /&gt;конце недели.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1656/</id>
    <title type="text">Подскажите пожалуйста как можно получить событие, которое происходит именно при изменении данных в т...</title>
    <published>2010-02-02T18:54:00Z</published>
    <updated>2010-02-02T18:54:00Z</updated>
    <author>
      <name>AndreiFX</name>
      <uri>https://stocksharp.com/users/28035/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Подскажите пожалуйста как можно получить событие, которое происходит&lt;br /&gt;именно при изменении данных в таблице &amp;quot;Инструменты&amp;quot;&lt;br /&gt;NewSecurities конечно не подходит&lt;br /&gt;Пробовал вот так&lt;br /&gt; Securities.CollectionChanged += (X, Y) =&amp;gt;&lt;br /&gt;                        {&lt;br /&gt;&lt;br /&gt;                       };&lt;br /&gt;где Securities это коллекция типа ObservableCollection&lt;br /&gt;Но все равно происходит это событие один раз при загрузке данных через&lt;br /&gt;дде,дальше молчит.&lt;br /&gt;Может быть подскажите путь решения?&lt;br /&gt;..вообще это мне надо для того, чтобы проверять некоторые условия на&lt;br /&gt;каждом тике, а через событие NewTrades делать не хочется, т.к. там еще&lt;br /&gt;история генерирует это событие. &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>