none
Ria Service 如何获取部分数据,并非直接一回绑到DataGrid上? RRS feed

  • 问题

  •  

    Ria Service 如何获取数据,并非直接一回绑到DataGrid上,而只是取部分数据?

    如下

    public void DrawLine()
        {
          
          DeepEarthDemo.Web.DomainService1 client = new DeepEarthDemo.Web.DomainService1();
          DeepEarthDemo.Web.WaterMeter waterMeter = new DeepEarthDemo.Web.WaterMeter();
          
          var sel = from s in client.WaterMeters where s.ID == 1 select s;
          if (sel.Count() == 0)
            return;
          DeepEarthDemo.Web.WaterMeter wm = sel.First();
          string str = wm.PointList;
          MatchCollection matchs = Regex.Matches(str, @"\d+");
          List<Point> points = new List<Point>();
    
          for (int i = 0; i < matchs.Count; i += 2)
          {
    
            int x = Convert.ToInt32(matchs[i].Value);
            int y = Convert.ToInt32(matchs[i + 1].Value);
            Point p = new Point(x, y);
            pointList.Add(p);
          }
    
          AddLine(geoLayer, pointList);
        }
    经调试,从DeepEarthDemo.Web.DomainService1 client = new DeepEarthDemo.Web.DomainService1() 这句代码发现client.WaterMeters 的Count值为0,估计是一条记录都没取到,难道没连上数据库吗?但我做插入操作是可以啊?初学RIA Service,好多不懂,请知道的帮小弟解决下,先谢谢了
    2010年4月21日 2:01

答案

  • 建议你先学习一下RiaServices的例子。RiaService不是这样用的。

    这行DeepEarthDemo.Web.DomainService1 client = new DeepEarthDemo.Web.DomainService1()只建立了一个Service,当然还没有数据。

    你需要调用Load,而且Load是异步发生的,需要在Loaded event 发生后,client.WaterMeters才会有值。

    2010年4月21日 4:34

全部回复