サード パーティ製のコントロールやカスタム コントロールを使用したくないので、これに対する貧弱な人の解決策は簡単です。
データが次のようになっているとします。
public class CustomData
{
public int Id { get; set; }
public string Type { get; set; }
public string Name { get; set; }
}
ユーザーに表示する可能性があるのは、次のようなものです。
List<CustomData> data = new List<CustomData>()
{
new CustomData { Id = 1, Name = "Test", Type = "Group1"},
new CustomData { Id = 2, Name = "Test", Type = "Group1"},
new CustomData { Id = 3, Name = "Test", Type = "Group1"},
new CustomData { Id = 4, Name = "Test", Type = "Group2"},
new CustomData { Id = 5, Name = "Test", Type = "Group2"},
new CustomData { Id = 6, Name = "Test", Type = "Group2"},
new CustomData { Id = 7, Name = "Test", Type = "Group3"},
new CustomData { Id = 8, Name = "Test", Type = "Group3"},
new CustomData { Id = 9, Name = "Test", Type = "Group3"},
};
var dataDisplayedToUser = data.GroupBy(g => g.Type).Select(p => p.Key);
この場合は次のようになります。
Group1
Group2
Group3
ユーザーがグリッド内の行をダブルクリックしたい場合、次のデータのサブセットを含む別のモーダル データ グリッドを表示できます。
string dataValue = theGroupTheUserSelected // from your grid
var specificData = data.Where(f => f.Type == theGroupTheUserSelected);
ユーザーに表示されるデータが少なくなり、目に優しく理解しやすくなります。