winform中获取datagridview如何获取选中的行,返回值object
WPF中有datagridview.SelectedItem,但winform中没有这个,请问有什么可以代替...
WPF中有datagridview.SelectedItem,但winform中没有这个,请问有什么可以代替
展开
5个回答
展开全部
,使用时需要先判断this.dataGridView1.SelectedCells.count,不为0 在进行上面的操作。
获取总行数:dataGridView1.Rows.Count;
获取当前选中行索引:int i = this.dataGridView1.CurrentRow.Index;
获取当前选中列索引:int j = this.dataGridView1.CurrentCell.ColumnIndex;
方法一:
this.dgvStuList.SelectedRows[0].Cells["列"].Value.ToString()
方法二:
dgvStuList.Rows[dgvStuList.CurrentRow.Index].Cells["列名"].Value.ToString()
/////////////////////////////////////////////////
点击已有数据行时只允许修改和删除,不可以添加,点击空白行时只运行添加,不允许删除和修改,那问题是如何来判断用户点击的是空白行呢,按钮是否可用的判断代码放在哪里呢?
解决方法:给datagrid添加mouse_enter事件
private void userInfo_MouseEnter(object sender,System.EventArgs e) {
int row = userInfo.CurrentCell .RowNumber;
if(row == list.Size) //list 是我用来存放数据表的对象集合, {
menu.MenuItems[0].Enabled = true;
}
else
{
menu.MenuItems[0].Enabled = false;
}
}
///////////////////////////////////////////////////////////
获取总行数:dataGridView1.Rows.Count;
获取当前选中行索引:int i = this.dataGridView1.CurrentRow.Index;
获取当前选中列索引:int j = this.dataGridView1.CurrentCell.ColumnIndex;
方法一:
this.dgvStuList.SelectedRows[0].Cells["列"].Value.ToString()
方法二:
dgvStuList.Rows[dgvStuList.CurrentRow.Index].Cells["列名"].Value.ToString()
/////////////////////////////////////////////////
点击已有数据行时只允许修改和删除,不可以添加,点击空白行时只运行添加,不允许删除和修改,那问题是如何来判断用户点击的是空白行呢,按钮是否可用的判断代码放在哪里呢?
解决方法:给datagrid添加mouse_enter事件
private void userInfo_MouseEnter(object sender,System.EventArgs e) {
int row = userInfo.CurrentCell .RowNumber;
if(row == list.Size) //list 是我用来存放数据表的对象集合, {
menu.MenuItems[0].Enabled = true;
}
else
{
menu.MenuItems[0].Enabled = false;
}
}
///////////////////////////////////////////////////////////
展开全部
datagridview.CurrentRow.Cells["列名"].Value.ToString()
获取当前选中行的某一列值,我本机没装VS无法测试,
你试试datagridview.CurrentRow.Rows
获取当前选中行的某一列值,我本机没装VS无法测试,
你试试datagridview.CurrentRow.Rows
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (dgv.Rows.Count > 0)//dgv行数
{
if (dgv.SelectedRows.Count > 0)//选中的行数
{
drno = dgv.SelectedRows[0].Cells["xz"].Value.ToString().Trim();//选中行列name叫 xz的值,不转为ToString()的话,默认是object
}
}
{
if (dgv.SelectedRows.Count > 0)//选中的行数
{
drno = dgv.SelectedRows[0].Cells["xz"].Value.ToString().Trim();//选中行列name叫 xz的值,不转为ToString()的话,默认是object
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
强制格式转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我有一段代码是选中行,同步更新 行中的数据 到textBox里,有用麽?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询