Заполните данные столбца GridView на основе ответа API - PullRequest
0 голосов
/ 23 февраля 2012

Я новичок в ASP.NET.Я хочу добавить столбец к GridView динамически на основе ответа API

id      User     secretcode
1       u1       {response from the API based on the Id value}
2       u1       {response from the API based on the Id value}
3       u1       {response from the API based on the Id value}
4       u1       {response from the API based on the Id value}
5       u1       {response from the API based on the Id value}

id и User уже есть в моей таблице базы данных (пользователи), поэтому для каждой возвращаемой строкиЯ хочу вызвать API, чтобы заполнить 3-й столбец, т.е. secretcode.По сути, меня смущает, где использовать цикл ForEach.

Это грубый код, над которым я работаю:

DataTable table = new DataTable();
DataColumn col3 = new DataColumn("Secretcode");
col3.DataType = System.Type.GetType("System.Int");
table.Columns.Add(col3);
row[col3] = {response data from API}
gvTest.DataSource = table;
gvTest.DataBind();

1 Ответ

1 голос
/ 24 февраля 2012

Возможно, что-то вроде этого

DataTable table = new DataTable();
DataColumn col = new DataColumn("Secretcode");
table.Columns.Add(col);
for(int i = 0; i < table.Rows.Count; i++)
{
    // Where 'SomeAPICall()' is calling the API and returning the
    // correct data type. If it is returning an object you may want
    // to convert it before you attach it to the table

    table.Rows[i]["Secretcode"] = SomeAPICall(table.Rows[i]["id"]);
}
gvTest.DataSource = table;
gvTest.DataBind();

Или, если вы проданы по идее цикла foreach:

DataTable table = new DataTable();
DataColumn col = new DataColumn("Secretcode");
table.Columns.Add(col);
foreach(DataRow row in table.Rows)
{
    // Where 'SomeAPICall()' is calling the API and returning the
    // correct data type. If it is returning an object you may want
    // to convert it before you attach it to the table

    row["Secretcode"] = SomeAPICall(row["id"]);
}
gvTest.DataSource = table;
gvTest.DataBind();

Я предпочитаю использовать для циклов вообще, потому что часто вы хотитеиспользуйте один и тот же индекс в 2 разных коллекциях, что вы не можете сделать с помощью цикла foreach.В этом случае, хотя это не имеет значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...