0

頻繁に更新され、現在のエントリを維持する BindList にバインドされたフォームに GridView を配置するためのすぐに使用できる方法を探しています。

GridView にいくつかのクライアント オブジェクトを表示したいと考えています。私のフォームは数秒ごとに、クライアントの最新情報 (名前、変数番号、変数番号、状態) を含む xml ファイルを読み取ります。選択範囲を壊さずにグリッド内の情報を更新できるようにしたいです。

これは箱から出して行うことができますか?

4

1 に答える 1

0

DJ KRAZEがコメントを回答に移動した場合、クレジットはDJ KRAZEに送られます。これを達成する方法を調査しましたが、選択などを維持すると直接言っているものは何も見つかりませんでした。

私の現在の解決策は

using (var reader = new StreamReader(new FileStream(clientFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
            {
                var ser = new XmlSerializer(typeof(ClientList));
                var temp = (ClientList)ser.Deserialize(reader);

                foreach (var client in temp.Items)
                {
                    if(clientWatchers.Any(c => c.Handle == client.Handle))
                    {
                        var c = clientWatchers.First(w => w.Handle == client.Handle);
                        c.SyncNumber = client.SyncNumber;
                        c.PsNumber = client.PsNumber;
                        c.IsHalted = client.IsHalted;
                    }
                    else
                    {
                        clientWatchers.Add(client);
                    }
                }

                var handles = clientWatchers.Select(c => c.Handle).ToArray();

                foreach (var handle in handles)
                {
                    if(temp.Items.All(c => c.Handle != handle))
                        clientWatchers.Remove(clientWatchers.First(c => c.Handle == handle));
                }

                //foreach (var client in temp.Items)
                    //clientWatchers.Add(client);
                dgClientView.DataSource = clientWatchers;

            }
于 2013-01-18T17:09:24.587 に答える