2012-02-23 13 views
0

私はASP.NETを初めて使用しています。私はGridViewに列を追加する動的APIの応答に基づいて、各返された行のために、私は私を埋めるためにAPIを呼び出したいのでAPIレスポンスに基づいてGridViewの列データを入力してください

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} 

idUserは、私のデータベーステーブル(ユーザ)に既にあります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
この

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つの異なるコレクションで同じインデックス番号を使用することが多いため、一般的にはforループを使用する方が好きですあなたは本当にforeachループではできません。この場合は問題ではありませんが。

+0

thnx that helped –

関連する問題