none
lightswitch 如何实时刷新同步屏幕和数据源数据 RRS feed

  • 问题

  • 如题,在 lightswitch 中设计 web 应用程序,如何在数据源发生后屏幕数据同步更新显示。

    比如我在一个屏幕上一个listbox 控件绑定数据源,当两个用户访问,且其中一个用户对listbox 控件绑定数据源进行添加、编辑、删除等操作,另一个用户的listbox 控件能够实时显示更改。

    我尝试在屏幕代码给控件添加twoway 数据绑定属性,但没有用处。代码如下:

        public partial class ProductLists
        {

            partial void ProductLists_InitializeDataWorkspace(List<IDataService> saveChangesTo)
            {
                   
               
                // 在此编写您的代码。
                IContentItemProxy MyListBox = this.FindControl("ProductList");

                MyListBox.SetBinding(System.Windows.Controls.ListBox.ItemsSourceProperty, "Screen.Products", System.Windows.Data.BindingMode.TwoWay);

             
            }
        }

    静待解惑!

    2012年4月20日 4:34

答案

全部回复

  •         private static readonly DispatcherTimer Timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(1) };

            private void Timer_Tick(object sender, EventArgs e)
            {
                PatientList.Timer.Stop();
                PatientList.Timer.Tick -= new EventHandler(Timer_Tick);
                this.Details.Dispatcher.BeginInvoke(() => this.Refresh());

            }

            partial void PatientList_InitializeDataWorkspace(List<IDataService> saveChangesTo)
            {
                // 在此编写您的代码。
                Dispatchers.Main.BeginInvoke(() =>
                    {
                        PatientList.Timer.Tick += new EventHandler(Timer_Tick);
                        PatientList.Timer.Start();
                    });
            }

            partial void PatientList_Closing(ref bool cancel)
            {
                // 在此编写您的代码。
                Dispatchers.Main.BeginInvoke(() =>
                    {
                        PatientList.Timer.Stop();
                    });
            }

    以上代码可以解决定时刷新问题,但this.refresh 会刷新整个页面,能否做到无刷新同步,或只刷新页面中的部分控件。lightswitch 里的刷新控件视乎就是只刷新list 或 datagrid 控件,请问代码如何实现!

    2012年4月22日 1:54
  • 你好,

    我们的工程师已经在您lightswitch论坛中发布的问题进行回复了。

    对于lightswitch相关问题,也请您发布到lightswitch论坛中。

    http://social.msdn.microsoft.com/Forums/en-US/lightswitch/thread/26cd681e-e56a-4be8-941d-dd8e358a657e


    • 已编辑 Shi Ding 2012年4月23日 12:15
    • 已标记为答案 Shi Ding 2012年5月4日 3:28
    2012年4月23日 12:15