来自另一个组件的数据表更新

时间:2017-04-01 19:30:25

标签: javascript datatables

我正在使用jquery的datatables表插件。我有另一个使用Ajax从服务器检索对象的组件。我想用这个对象更新数据库。我正在努力解决这个问题。 Ajax返回一个对象,该对象采用数据表将接受数据的格式。但是如何从Ajax调用的其他组件更新数据表?我正在使用python flask和jinja2模板。这是当前存在的javascript:

<TabControl>
    <TabControl.Resources>
        <Style TargetType="TabItem" BasedOn="{StaticResource {x:Type TabItem}}">
            <Setter Property="HeaderTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Image Source="{Binding HeaderImage}" Height="20" Margin="5, 0"/>
                            <TextBlock Text="{Binding HeaderText}"/>
                        </StackPanel>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </TabControl.Resources>

    <TabItem DataContext="{Binding ViewModelStart}">

    </TabItem>

    <TabItem DataContext="{Binding ViewModelStartupManager}">

    </TabItem>
</TabControl>

1 个答案:

答案 0 :(得分:1)

这是一个非常简单的“愚弄”ajax调用。

转到http://live.datatables.net/nesadivo/1/edit

单击Run With JS按钮初始化所有内容。单击转到按钮以获取数据

$(document).ready(function() {
     // created a global variable for the datatable to us to find the data
     var dtData = null;

     // On the button click, use regular ajax to get the data
     $("#btnGo").on("click", function(){
         $.ajax({url:"http://live.datatables.net/examples/server_side/scripts/server_processing.php",

             success:function(cData){
                    // on success, set the global variable then reload table
                    dtData = JSON.parse(cData);
                    $('#example').DataTable( ).ajax.reload();
                },
                error:function(err){debugger;}}  ); 
      });

      // initialize the table on page load
      $('#example').DataTable( {
          "ajax": function(a,callback,c){
               callback(dtData);
           }
       });
     });