不要和我说重新绑定. time控制秒数是一种办法.
我想知道还有什么其他办法?需求就是
A和B登录同一窗体,然后当添加资料进去之后.A和B的窗体要立刻刷新出来,而不是窗体加载的时候出来.也不是放个Button,点击它显示出来.窗体立即加载

解决方案 »

  1.   

    c/s的话。用remoting做。可以做到同步的。
    b/s的没做过。
      

  2.   

    第一,重新刷数据,然后重新绑定
    第二,不绑定数据集,加载数据后,遍历Add到grid,然后timer定时取最新数据,然后Add进来,这样避免整体再次绑定
      

  3.   

    去看看remoting方面的东东吧。
    没现成的例子。。不过确实能实现这样的功能。
      

  4.   

    remoting应该可以,更底层的话, 用socket发消息吧,A添加一行数据,立即发消息给b,b收到后立即刷新界面
      

  5.   

    使用socket消息机制固定配置两台机器连接一台服务器,当服务器受到消息发送给另外一台客户机。
      

  6.   

    http://www.myexception.cn/c-sharp/82826.html
      

  7.   

    100分放这里了 CSND的高手那去了-.-求解决
      

  8.   

    如果是写入sql server 数据库的话,可以使用sql depency来监视数据库的变化,从而实现数据的同步
      

  9.   


    socket 机制应该是发送请求的把. 
    假如一个人添加了数据.另外2个人可以的同1个窗体可以立即刷新出来? 
    求思路 求例子 求解决.
      

  10.   


    这个例子你没试过?这个应该对你有用的
    remoting的例子。那个是可以同步的
      

  11.   

    那个例子不行啊
    我生成DLL文件都不来.
      

  12.   

    生成DLL文件 编译就不行他那代码
      

  13.   

    那就google或者百度一下吧。。
      

  14.   


    找的到类似的就不会来CSDN求助了.
      

  15.   

    http://www.cnblogs.com/wayfarer/articles/75213.html
      

  16.   

    楼主,哈哈,17楼的例子也不错啊,我这里是这样编译的,基于VS2008啊,哈哈。1、新建一个名称为ClockServer.cs的文件,内容如下
    using System;
    using System.Windows.Forms;
    public class Clock : MarshalByRefObject  
    {  
    public string GetCurrentTime ()  
    {  
    return DateTime.Now.ToLongTimeString ();  
    }  
    public void ShowMessage(String msg)  
    {  
    MessageBox.Show(msg);
    }  
    }2、新建一个名称为TimeServer.cs的文件,内容如下
    using System;  
    using System.Runtime.Remoting;  
    using System.Runtime.Remoting.Channels;  
    using System.Runtime.Remoting.Channels.Tcp;
    class MyApp  
    {  
    static void Main ()  
    {  
    TcpServerChannel channel = new TcpServerChannel (1234);  
    ChannelServices.RegisterChannel (channel);  RemotingConfiguration.RegisterWellKnownServiceType  
    (typeof (Clock), "Clock", WellKnownObjectMode.SingleCall);  Console.WriteLine ("Press Enter to terminate...");  
    Console.ReadLine ();  
    }  
    }3、新建一个名称为TimeClient.cs的文件,内容如下
    using System;  
    using System.Runtime.Remoting;  
    using System.Runtime.Remoting.Channels;  
    using System.Runtime.Remoting.Channels.Tcp;
    class MyApp  
    {  
    static void Main ()  
    {  
    TcpClientChannel channel = new TcpClientChannel ();  
    ChannelServices.RegisterChannel (channel);  RemotingConfiguration.RegisterWellKnownClientType  
    (typeof (Clock), "tcp://localhost:1234/Clock"); 
    Clock clock = new Clock ();  
    clock .ShowMessage("HELLO");
    Console.WriteLine (clock.GetCurrentTime ());
    Console.ReadLine(); 
    }  
    }  4、把上面三个文件建好,并保存,拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC文件夹下。5、开始--所有程序--Microsoft Visual Studio 2008--Visual Studio Tools--Visual Studio 2008 命令提示。6、在DOS界面中粘贴csc /t:library /out:ClockServer.dll ClockServer.cs,回车。然后你看到C:\Program Files\Microsoft Visual Studio 9.0\VC文件夹下会生成一个ClockServer.dll文件。这个得先生成,下面两个要引用它。7、在DOS界面中粘贴csc TimeServer.cs /r:ClockServer.dll,回车。然后你看到C:\Program Files\Microsoft Visual Studio 9.0\VC文件夹下会生成一个TimeServer.exe文件。8、在DOS界面中粘贴csc TimeClient.cs /r:ClockServer.dll,回车。然后你看到C:\Program Files\Microsoft Visual Studio 9.0\VC文件夹下会生成一个TimeClient.exe文件。9、要注意的是,TimeClient.cs中用的是localhost,你可以换成服务器的IP。另外生成exe的时候,会提示语句过时,不用理它,不影响结果。
    楼主弄好了共享一下啊
      

  17.   

    如果你用timer定期刷新的话··程序会随着时间的推进而渐渐地增加系统资源的耗费··最好的还是remoting,如果对remoting不熟悉,可以用socket。一定能解决问题的···就是当收到服务器的socket消息后,数据自动刷新一次···
      

  18.   

    http://www.codeproject.com/Articles/144344/Query-Notification-using-SqlDependency-and-SqlCach
    参考下sql dependency 的实例,没必要用remoting