MongoDB/C#和Telerik Ajax RadGrid

MongoDB/C#和Telerik Ajax RadGrid,c#,mongodb,telerik,telerik-grid,mongodb-.net-driver,C#,Mongodb,Telerik,Telerik Grid,Mongodb .net Driver,一些专家能否提出一种使用Telerik RadControls Ajax网格和MongoDb C#官方驱动程序管理简单网格表创建/更新/删除方法的方法。该对象管理来自web控件的简单表数据 最好使用什么对象:BsonObjects、List、DataTables 客户端或服务器端的最佳方法 谢谢 使用FindAs从数据库加载一些集合(可能还将使用skip、limit和SetSor或tOrder) 我对telerik网格一点也不熟悉,但在我看来,和通常的网格一样,telerik网格有一些类似于

一些专家能否提出一种使用Telerik RadControls Ajax网格和MongoDb C#官方驱动程序管理简单网格表创建/更新/删除方法的方法。该对象管理来自web控件的简单表数据

  • 最好使用什么对象:BsonObjects、List、DataTables
  • 客户端或服务器端的最佳方法
谢谢

  • 使用FindAs从数据库加载一些集合(可能还将使用skip、limit和SetSor或tOrder)
  • 我对telerik网格一点也不熟悉,但在我看来,和通常的网格一样,telerik网格有一些类似于数据源的属性。因此,您可以使用DataSource属性绑定数据
  • 对于update/delete/insert方法,我假设telerik网格有一些事件(比如关于item insert、delete)。您还可以轻松创建将在mongo中更新/删除/插入的方法
  • 抽象地说,该过程将如下所示:

    var items = mongoCollection.FindAs<Type>(Query.EQ("someProperty", "someValue"))
               .SetSortOrder("orderField").SetLimit(100).Skip(10);
    
    telerikGrid.DataSource = items;
    telerikGrid.DataBind();
    
    ....
    
    telerikGrid_OnItemDelete(object sender, SomeEventArgs e)
    {
       var id = e. //get parameter from args
       ..
       mongoCollection.Remove(Query.EQ("_id", id));
    }
    
    var items=mongoCollection.FindAs(Query.EQ(“someProperty”、“someValue”))
    .SetSortOrder(“orderField”).SetLimit(100).跳过(10);
    telerikGrid.DataSource=项目;
    telerikGrid.DataBind();
    ....
    telerikGrid_OnItemDelete(对象发送方,SomeEventArgs e)
    {
    var id=e.//从args获取参数
    ..
    mongoCollection.Remove(Query.EQ('u id',id));
    }
    
    另外,我建议您询问有关telerik网格的问题(如何将数据列表绑定到telerik网格?),或者查看telerik文档(我认为telerik有完美的文档)。甚至可以问问telerik社区


    希望我的“抽象”答案能对您有所帮助。

    +1,使用Telerik网格与标准gridview控件没有本质上的区别,您可以用几乎相同的方式编程。加载网格后,您希望创建一个OnNeedDataSource事件来调用网格绑定(如果使用此方法绑定,则无需在网格上调用.Databind)。使用该事件的一个很好的优点是,您可以通过调用
    grid.Rebind()
    (用于更新后等)在任何时候重新加载数据。正如Bugai所说,你只需要把CRUD的所有事件联系起来,这是一个令人遗憾的PITA。