繁体   English   中英

我应该如何给用户一个选择并从该选择中获取GUID

[英]how should I give the user a selection and grab the guid from that selection

我必须给用户一个选项,以便从项目列表中进行选择,然后,在他们选择哪个项目之前,我需要从该项目中获取GUID。 这将从Sql表的Linq查询中填充。

我从这个开始:

private void PopulateGatewayList()
{
  var gateways = from gw in _entities.Gateways
                 where gw.IsActive
                 select gw;

  foreach (var gateway in gateways)
  {
    checkedListBox_Gateways.Items.Add(gateway.Name);
  }
}

但是一旦他们检查了东西,我就无法抓住这个向导。

给用户起名字但又给我回头的好方法是什么?

**答案**

在Michael Yoon的帮助下,我执行了以下操作:

private void PopulateGatewayList()
{
  var gateways = from gw in _entities.Gateways
                 where gw.IsActive
                 select gw;

  foreach (var gateway in gateways)
  {
    checkedListBox_Gateways.Items.Add(new ListItem(gateway.Name, gateway.GatewayId.ToString()));
    //checkedListBox_Gateways.Items.Add(gateway.Name);
  }
}


private void checkedListBox_Gateways_SelectedIndexChanged(object sender, EventArgs e)
{
  foreach (Object selecteditem in checkedListBox_Gateways.SelectedItems)
  {
    var strItem = selecteditem as ListItem;
    Console.WriteLine("Selected: " + strItem.Value);
  }
}

您需要向包含ID和字符串的集合中添加一个对象。 您可以使用KeyValuePair或自己制作。 我将在示例中使用keyvaluepair。

checkedListBox_Gateways.DisplayMember = "Key";
checkedListBox_Gateways.ValueMember = "Value";
checkedListBox_Gateways.Items.Add(new KeyValuePair<string, string>(gateway.Name, gateway.Id.ToString()));

然后,您可以枚举SelectedItems集合,将每个集合强制转换回键值对并从中获取值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM