如何用索引列表填充下拉框

本文关键字:填充 列表 何用 索引 | 更新日期: 2023-09-27 18:30:09

希望这是一个快速的答案。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是实现IListArray的对象。您可以使用以下任一选项:

ComboBox.DataSource

this.comboBox1.DataSource = myindexes;

ComboBox.Items.AddRange

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;