C#如何使用Task填充数据表

C#如何使用Task填充数据表,c#,.net-4.5,C#,.net 4.5,基本上,我有一个网页,当我在一个框中键入时,它会导致一个帖子返回,我只想填充我的数据表。然而,我一辈子都无法理解如何使用任务填充这个数据表 任何帮助都会很好 protected void RadInput_TextChanged(object sender, EventArgs e) { Task<DataTable> mytab = myTable(simpleTextBox.Text); simpleGrid.DataSource = my

基本上,我有一个网页,当我在一个框中键入时,它会导致一个帖子返回,我只想填充我的数据表。然而,我一辈子都无法理解如何使用任务填充这个数据表

任何帮助都会很好

protected void RadInput_TextChanged(object sender, EventArgs e)
    {
        Task<DataTable> mytab = myTable(simpleTextBox.Text);
        simpleGrid.DataSource = mytab;
        simpleGrid.DataBind();
        Page.ClientScript.RegisterStartupScript(this.GetType(), "refocus", "refocus()", true);
    }

    private async Task<DataTable> myTable(string searchClause)
    {
        DataTable myTab = new DataTable();
        myTab.Columns.Add("Results");
        for (int i = 0; i < myResults.Length; i++)
        {
            if (myResults[i].ToLower().StartsWith(searchClause.ToLower()))
            {
                DataRow dtRow = myTab.NewRow();
                dtRow[0] = myResults[i];
                myTab.Rows.Add(dtRow);

            }
        }

        return myTab;


    }



    private static string[] myResults = { "Apples", "Pears", "Bananas", "Oranges", "Advil", "Populate", "Bear" };
protectedvoid RadInput\u text已更改(对象发送方,事件参数e)
{
任务mytab=myTable(simpleTextBox.Text);
simpleGrid.DataSource=mytab;
simpleGrid.DataBind();
Page.ClientScript.RegisterStartupScript(this.GetType(),“重新聚焦”,“重新聚焦()”,true);
}
专用异步任务myTable(字符串搜索子句)
{
DataTable myTab=新建DataTable();
myTab.Columns.Add(“结果”);
for(int i=0;i
无法将网格绑定到任务。
如果要使用任务,可以使用以下选项之一

simpleGrid.DataSource =await mytab; //You must mark the event as async

如果myTable()中没有IO操作,则只返回一个DataTable而不是任务

您可以在此处了解有关任务的更多信息

simpleGrid.DataSource =mytab.Result;