有哪位知道Winform中 datagridview多选是怎么实现的?

pipiok 2012-08-23 10:40:42

有哪位知道Winform中 datagridview多选是怎么实现的?效果如下图:


求指点
...全文
759 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pipiok 2012-08-28
  • 打赏
  • 举报
回复 1
private void dgvSetWorkGroup_Click(object sender, EventArgs e)
{
if (dgvSetWorkGroup.CurrentCell.ColumnIndex==4)
{
Rectangle rect = dgvSetWorkGroup.GetCellDisplayRectangle(dgvSetWorkGroup.CurrentCell.ColumnIndex, dgvSetWorkGroup.CurrentCell.RowIndex, false);
ListBox lb = new ListBox();
lb.FormattingEnabled = true;
lb.ItemHeight = 12;
lb.Location = new Point(200, 40);
lb.Name = "listBox1";
//lb.Location= new Point
lb.Size = new System.Drawing.Size(220, 88);
lb.TabIndex = 1;
lb.DataSource = ScanList;
lb.DisplayMember = "MachineId";
lb.ValueMember = "MachineId";
lb.SelectionMode = SelectionMode.MultiSimple;

lb.Left = rect.Left;
lb.Top = rect.Top;
lb.Width = rect.Width;
lb.Visible = true;
dgvSetWorkGroup.Controls.Add(lb);
lb.MouseLeave += new EventHandler(ListLeaveClick);
}
}

private void ListLeaveClick(object sender, EventArgs e)
{
ListBox lb = (ListBox)sender;
string ListBoxValue=null;
for (int i = 0; i < lb.SelectedItems.Count; i++)
{
ListBoxValue += ((System.Data.DataRowView)(lb.SelectedItems[i]))[1] + ";";
}
dgvSetWorkGroup.CurrentRow.Cells[4].Value = ListBoxValue;
lb.Visible = false;
}
给各位分享下
风寒晓 2012-08-23
  • 打赏
  • 举报
回复
我顶,正好要学习这个!
yghq008 2012-08-23
  • 打赏
  • 举报
回复
你是要多选datagridview的行还是listbox的行,datagridview多先加一列复选框列datagridCheckBoxcolumns,绑定就可以实现多选,listbox多选如二楼所述
愚知 2012-08-23
  • 打赏
  • 举报
回复
ListBox
属性MultiSelect为true。
bdmh 2012-08-23
  • 打赏
  • 举报
回复
可以在单元格绑定一个可以多选的控件http://hi.baidu.com/wangcaidpj219x/blog/item/44d6a730bf923514ebc4af89.html

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧