/ / C #, як заповнити дані, використовуючи Task - c #, .net-4.5

C # як заповнити таблицю даних за допомогою завдання - c #, .net-4.5

В основному у мене є веб-сторінка, на яку я набираю текствікно це викликає пост назад, що я просто хочу заповнити мій datatable. Howevr, я не можу для життя мене розуміння, як заповнити цю datatable використання завдання.

Будь-яка допомога буде чудово!

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 для відповіді № 1

Ви не можете прив'язати сітку до завдання.
Якщо ви хочете використовувати завдання, ви можете скористатися одним з наступних

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

або

simpleGrid.DataSource =mytab.Result;

Якщо ви не маєте операції вводу-виводу всередині myTable (), ви можете просто повернути DataTable, а не Task

Докладніше про завдання можна дізнатися тут Завдання паралельної бібліотеки