私がやろうとしていることを示すと、より簡単になります:
public struct Server
{
public string ServerName;
public string SiteName;
}
List<Server> targetServerList = GetTargetServerList();
targetServerList には次のデータが含まれます。
SiteName: A
ServerName: 1
SiteName: A
ServerName: 2
SiteName: B
ServerName: 3
SiteName: C
ServerName: 4
目標: 以下を含むリストを作成する必要があります。
SiteName: Site A
ServerNames: 1,2
SiteName: Site B
ServerNames: 3
SiteName: Site C
ServerNames: 4
そこで、次のクラスを作成しました。
private class ServersPerSite
{
string ServerNames;
string SiteName;
}
そのため、SiteName がまだ存在しない場合は、ループして新しい SiteName を持つ新しい項目を追加し、それに ServerName を追加する必要があります。存在する場合は、ServerName を追加するだけです。
foreach (Server server in targetServerList)
{
//??missing code
}
それ、どうやったら出来るの?Javascript では本当に簡単でした:
//Separate the servers per site
var sites=new Object();
$("#ServerGrid").jqGrid('getGridParam', 'data').forEach(function(row)
{
if(!sites[row.SiteName])
{
sites[row.SiteName] = new Array();
}
sites[row.SiteName][sites[row.SiteName].length] = row.ServerName;
}
ありがとうございました!