如何用索引列表填充下拉框
How to populate dropdown box with indices list
希望这是一个快速的答案。 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();
但看不出如何更深入一层。
我知道这是一个简单的问题,但如果有人能抽出一点时间,我将不胜感激。
非常感谢您一如既往的帮助!
米克
假设 myindexes 是一个实现 IList
或 Array
的对象。您可以使用以下任一选项:
this.comboBox1.DataSource = myindexes;
this.comboBox1.Items.AddRange(myindexes.Cast<object>().ToArray());
注:
- 将为
ComboBox
中的项目显示的文本是 ToString
方法的结果。
- 如果您要显示复杂对象,使用
DataSource
方式,您可以将 DisplayMember
设置为要在 ComboBox
中显示的复杂对象的属性之一。
- 要设置为
DataSource
属性 的对象应该是实现 IList
接口或 Array
的对象。如果不是,您应该首先将其转换为预期提到的类型。
你可以使用 BindingSource
BindingSource bs = new BindingSource();
bs.DataSource = myindexes.ToList();
comboBox1.DataSource = bs;
希望这是一个快速的答案。 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();
但看不出如何更深入一层。
我知道这是一个简单的问题,但如果有人能抽出一点时间,我将不胜感激。
非常感谢您一如既往的帮助!
米克
假设 myindexes 是一个实现 IList
或 Array
的对象。您可以使用以下任一选项:
this.comboBox1.DataSource = myindexes;
this.comboBox1.Items.AddRange(myindexes.Cast<object>().ToArray());
注:
- 将为
ComboBox
中的项目显示的文本是ToString
方法的结果。 - 如果您要显示复杂对象,使用
DataSource
方式,您可以将DisplayMember
设置为要在ComboBox
中显示的复杂对象的属性之一。 - 要设置为
DataSource
属性 的对象应该是实现IList
接口或Array
的对象。如果不是,您应该首先将其转换为预期提到的类型。
你可以使用 BindingSource
BindingSource bs = new BindingSource();
bs.DataSource = myindexes.ToList();
comboBox1.DataSource = bs;