2015-06-25 3 views
0

В принципе у меня есть веб-страница, которая, когда я ввожу в поле, вызывает сообщение, которое я просто хочу заполнить своим datatable. Howevr, я не могу для жизни меня понять, как заполнить эту работу с использованием данных.C# как заполнить datatable using Task

Любая помощь будет замечательной!

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" }; 

ответ

0

Вы не можете привязать сетку к задаче.
Если вы хотите использовать задачи, которые вы можете использовать один из следующих

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

или

simpleGrid.DataSource =mytab.Result; 

Если у вас нет операции ввода-вывода внутри MYTABLE(), можно просто возвращать DataTable и задача не

Вы можете узнать больше о задачах здесь Task Parallel Library

Смежные вопросы