希望这可以是一个快速的答案。 C#和NEST的新手(从我之前的帖子中可能很明显)。
我正在使用NEST查询我的ES实例,并构建了一个小的winform应用程序来帮助完成任务。我希望我的winform上的一个组合框能够动态地填充我的集群中索引的名称。
到目前为止,我已经使用过:
var node = new Uri("http://xxx.xxx.x.xxx:xxx");
var settings = new ConnectionSettings(node);
var client = new ElasticClient(settings);
var myindexes = client.CatIndices();
我不能为我的生活弄清楚如何使用值存储在" myindexes"
中填充我的组合框的值我试过了
combobox1.value = myindexes.ToList();
但无法弄清楚如何更深入一层。
我知道这是一个简单的问题,但如果有人可以稍等片刻,我真的很感激帮助。
非常感谢您一如既往的帮助!
Mick
答案 0 :(得分:2)
假设myindexes是实现IList
或Array
的对象。您可以使用以下任一选项:
this.comboBox1.DataSource = myindexes;
this.comboBox1.Items.AddRange(myindexes.Cast<object>().ToArray());
注意:强>
ComboBox
中的项目显示的文字是ToString
方法的结果。DataSource
方式展示复杂对象,则可以将DisplayMember
设置为要在ComboBox
中显示的复杂对象的某个属性。DataSource
属性的对象应该是实现IList
接口或Array
的对象。如果不是,您应该首先将其转换为预期提到的类型。答案 1 :(得分:0)
您可以使用BindingSource
BindingSource bs = new BindingSource();
bs.DataSource = myindexes.ToList();
comboBox1.DataSource = bs;