当改变了公司后,部门那一列的选项也跟真改变。
这个
dataGridView
是绑定的
userBindingSource
公司这列的
DataGridViewComboBoxColumn
是绑定的
CoBindingSource
部门这列的
DataGridViewComboBoxColumn
绑定的是
deptBindingSource
上面这些都是用vs2005自动生成的代码做的。
然后给dataGridView 添加了个监听。当公司这列的某个单元格的值发生改变时触发一个事件。
事件代码如下:
Point
a
=
dataGridView1
.
CurrentCellAddress
;
int
values
=
(
int
)
this
.
dataGridView1
.
Rows
[
a
.
X
]
.
Cells
[
1
]
.
Value
;
this
.
deptTableAdapter
.
FillBy
(
this
.
dataSet
.
dept
,
values
)
;
catch
(
Exception
ex
)
MessageBox
.
Show
(
ex
.
Message
)
;
给公司这一列的
ComboBox
添加事件
dataGridView
.
EditingControlShowing
+=
new
DataGridViewEditingControlShowingEventHandler
(
dataGridView_EditingControlShowing
)
;
private
void
dataGridView_EditingControlShowing
(
object
sender
,
DataGridViewEditingControlShowingEventArgs
e
)
if
(
dataGridView
.
CurrentCell
.
OwningColumn
.
Name
.
Equals
(
"公司"
)
&&
e
.
Control
is
ComboBox
)
(
e
.
Control
as
ComboBox
)
.
SelectedValueChanged
-=
new
EventHandler
(
ComboBox_SelectedValueChanged
)
;
(
e
.
Control
as
ComboBox
)
.
SelectedValueChanged
+=
new
EventHandler
(
ComboBox_SelectedValueChanged
)
;
void
ComboBox_SelectedValueChanged
(
object
sender
,
EventArgs
e
)
if
(
(
sender
as
ComboBox
)
.
SelectedItem
!=
null
)
dataGridView
.
CurrentRow
.
Cells
[
"部门"
]
.
Value
=
(
(
sender
as
ComboBox
)
.
SelectedItem
as
DataRowView
)
[
"部门"
]
;
DataTable
dt
=
new
DataTable
(
)
;
dt
.
Columns
.
Add
(
"c_ID"
)
;
dt
.
Columns
.
Add
(
"d_ID"
)
;
for
(
int
i
=
0
;
i
<
10
;
i
+=
2
)
dt
.
Rows
.
Add
(
new
object
[
]
{
i
,
i
%
4
}
)
;
dataGridView1
.
DataSource
=
dt
;
DataTable
dt1
=
new
DataTable
(
)
;
dt1
.
Columns
.
Add
(
"c_ID"
)
;
dt1
.
Columns
.
Add
(
"c_name"
)
;
for
(
int
i
=
0
;
i
<
10
;
i
++
)
dt1
.
Rows
.
Add
(
new
object
[
]
{
i
,
"公司"
+
i
.
ToString
(
)
}
)
;
DataGridViewComboBoxColumn
cc
=
new
DataGridViewComboBoxColumn
(
)
;
cc
.
DataSource
=
dt1
;
cc
.
HeaderText
=
"公司名称"
;
cc
.
DisplayMember
=
"c_name"
;
cc
.
ValueMember
=
"c_ID"
;
cc
.
DataPropertyName
=
"c_ID"
;
dataGridView1
.
Columns
.
Add
(
cc
)
;
DataTable
dt2
=
new
DataTable
(
)
;
dt2
.
Columns
.
Add
(
"d_ID"
)
;
dt2
.
Columns
.
Add
(
"d_name"
)
;
for
(
int
i
=
0
;
i
<
4
;
i
++
)
dt2
.
Rows
.
Add
(
new
object
[
]
{
i
,
"部门"
+
i
.
ToString
(
)
}
)
;
DataGridViewComboBoxColumn
c2
=
new
DataGridViewComboBoxColumn
(
)
;
c2
.
DataSource
=
dt2
;
c2
.
HeaderText
=
"部门"
;
c2
.
DisplayMember
=
"d_name"
;
c2
.
ValueMember
=
"d_ID"
;
c2
.
DataPropertyName
=
"d_ID"
;
dataGridView1
.
Columns
.
Add
(
c2
)
;
dataGridView1
.
Columns
[
0
]
.
Visible
=
false
;
dataGridView1
.
Columns
[
1
]
.
Visible
=
false
;
当改变了公司后,部门那一列的选项也跟真改变。这个 是绑定的公司这列的 是绑定的部门这列的 绑定的是上面这些都是用vs2005自动生成的代码做的。然后给dataGridView 添加了个监听。dataGridView_EditingControlShowing...
datagridview
中的
column
为
combobox
时的数据
绑定
和
联动
,就是同一行的后面的
combobox
根据前面的
列
的
combobox
变化而变化 下面是用dev的asp.net控件做的
combobox
3
级联
动的
一个
小demo: aspx文件:
<%@PageLangu...
昨天和今天在做
c#
datagridview
DataGridView
ComboBox
Column
,为什么做了这么久,因为是总想使用datatable作为datasource进行
绑定
到
DataGridView
ComboBox
Column
上,但是实际上不能这样,而是datasource就是数据,
DataGridView
ComboBox
Column
只是
datagridview
在
绑定
数据后,添加到其中,它
里
面的数据
设置
值,在datasource中获取,按照某种规则,放进去即可
public partial cla..
有时会遇到
datagridview
中两
列
均为下拉框,且包含
级联
关系,第二
列
单元格中的选项需根据第一
列
内容的选择而不同。之前看了多年前的论坛中(https://bbs.csdn.net/topics/280050019)写了如下的方法,我根据我的需求写了如下逻辑的代码。
此时,先要给
datagridview
绑定
editingcontrolingshowing
事件
。
private void d...
分享
一个
关于miniUI中选中datagrid中的某行数据,与右侧数据
联动
的
效果
:
需求,在查询的结果
列
表,选中任意一行数据,右侧会加载该条数据的明细数据。
(1)使用鼠标进行行选中,然后触发右侧datagrid的
联动
(2)当选中一条记录后,可以通过键盘的上下PgUp和PdDn来实现右侧数据的
联动
显示,基本
效果
图如下所示:
下面分别对上面的两种操作的前端实现都会做说明:
针对操作1:
//获取...
右边的部分即为
一个
datagridview
表,表名为OrganNameChange(后续代码会用到);
表包含四
列
:“Organ Names” 为文本框,“Check”为勾选框,“Type”和“Rename”均为下拉框。
1.1
datagridview
的基本
设置
这
里
的
datagridview
的基本
设置
有:
表的前一
列
不显示(
c#
默认显示):RowHeader...
PostgreSQL 数据库时间加减,日期加减 INTERVAL 1 year 1 month 1 day 1 hour 1 min 1 sec
weixin_51478028:
U盘启动盘,启动时报错Failed to load ldlinux.c32的解决办法
qq_45668562:
Python多张图片合并成一个PDF
冇241:
在 Nginx 下 Seahub 端启用 https Nginx 环境下部署 Seahub/SeafServer
帆布鞋12138:
openresty、nginx 拦截非法请求, referer模块 ngx_http_referer_module
programmer_ada: