获取 CheckBoxList 的 ValueMembers
Get ValueMembers of a CheckBoxList
我有一个 linq 查询,我使用 Windows 表单绑定到复选框列表
var webresourcesFromCRM = from w in orgSvcContext.CreateQuery("webresource")
select new
{
webresourceid = w["webresourceid"],
name = w["name"]
};
我在绑定时使用了 DisplayMember 和 ValueMember 属性
cblWebResources.DataSource = webresourcesFromCRM;
cblWebResources.DisplayMember = "name";
cblWebResources.ValueMember = "webresourceid";
以上代码效果很好。但是我的问题是我想获得选中项目的 ValueMember 。 cblWebResources.SelectedItems 或 cblWebResources.SelectedIndices 的所有组合我都试过了。我只是希望能够遍历我选择的项目并将每个 ValueMember 放入 windows 表单 app.
我试过其他类似的帖子,但运气不好,这是一个 windows 表单应用程序
var selectedItems = checkedUsers.Items.Cast<ListItem>()
.Where(li => li.Selected)
.Select(li => int.Parse(li.Text));
int sum = selectedItems.Sum();
string items = string.Join(",", selectedItems);
A CheckedListBox
方便地同时具有:
var c = checkedListBox1.CheckedItems;
var s = checkedListBox1.SelectedItems;
现在你得到了交集:
var cs = c.Cast<object>().Where(i => s.Contains(i));
var sc = s.Cast<object>().Where(i => c.Contains(i));
很遗憾CheckedListBoxes
不支持MultiSelect
,所以第二种形式应该更好。
遗憾的是它也没有绑定 Checkboxes
的选项 :-(
我需要将我托运的物品放入一个物体中
foreach(cblWebResouces.CheckedItems.Cast() 中的变量项)
{
MessageBox.Show(item.webresourceid);
}
我有一个 linq 查询,我使用 Windows 表单绑定到复选框列表
var webresourcesFromCRM = from w in orgSvcContext.CreateQuery("webresource")
select new
{
webresourceid = w["webresourceid"],
name = w["name"]
};
我在绑定时使用了 DisplayMember 和 ValueMember 属性
cblWebResources.DataSource = webresourcesFromCRM;
cblWebResources.DisplayMember = "name";
cblWebResources.ValueMember = "webresourceid";
以上代码效果很好。但是我的问题是我想获得选中项目的 ValueMember 。 cblWebResources.SelectedItems 或 cblWebResources.SelectedIndices 的所有组合我都试过了。我只是希望能够遍历我选择的项目并将每个 ValueMember 放入 windows 表单 app.
我试过其他类似的帖子,但运气不好,这是一个 windows 表单应用程序
var selectedItems = checkedUsers.Items.Cast<ListItem>()
.Where(li => li.Selected)
.Select(li => int.Parse(li.Text));
int sum = selectedItems.Sum();
string items = string.Join(",", selectedItems);
A CheckedListBox
方便地同时具有:
var c = checkedListBox1.CheckedItems;
var s = checkedListBox1.SelectedItems;
现在你得到了交集:
var cs = c.Cast<object>().Where(i => s.Contains(i));
var sc = s.Cast<object>().Where(i => c.Contains(i));
很遗憾CheckedListBoxes
不支持MultiSelect
,所以第二种形式应该更好。
遗憾的是它也没有绑定 Checkboxes
的选项 :-(
我需要将我托运的物品放入一个物体中
foreach(cblWebResouces.CheckedItems.Cast() 中的变量项) { MessageBox.Show(item.webresourceid); }