通过鼠标单击datagridview把所有列名都取出来 并且把选中行对应的单元格的值也取出来
最后的效果是stringaaa="列名1:对应值1"+"列名2:对应值2"哪位高手帮帮忙!给几行简单的代码:先谢啦!...
最后的效果是 string aaa=" 列名1:对应值1" + "列名2:对应值2 "
哪位高手帮帮忙!给几行简单的代码:先谢啦! 展开
哪位高手帮帮忙!给几行简单的代码:先谢啦! 展开
3个回答
展开全部
在窗体中添加一个DataGridView控件,其名字为dataGridView1, 并在dataGridView1中添加 CellClick事件 并将以下代码写入:
//第一循环用来判断选择了几行(不是选择了哪个单元格)
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
{
string aaa = null;
//第二个循环用来判断有几列
for (int j = 0; j < dataGridView1.ColumnCount;j++ )
{
aaa += string.Format("{0}:{1} ", dataGridView1.Columns[j].HeaderText, dataGridView1.SelectedRows[i].Cells[j].Value);
}
MessageBox.Show(aaa);//将结果输出
}
//第一循环用来判断选择了几行(不是选择了哪个单元格)
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
{
string aaa = null;
//第二个循环用来判断有几列
for (int j = 0; j < dataGridView1.ColumnCount;j++ )
{
aaa += string.Format("{0}:{1} ", dataGridView1.Columns[j].HeaderText, dataGridView1.SelectedRows[i].Cells[j].Value);
}
MessageBox.Show(aaa);//将结果输出
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CellClick事件中处理
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//表头不处理
if(e.RowIndex==-1) return;
//处理非表头数据
string res = String.Join
(" ",
this.dataGridView1.Rows[e.RowIndex].Cells.Cast<DataGridViewCell>()
.Select(
p => String.Format("{0}:{1}", p.OwningColumn.HeaderText, p.Value))
);
MessageBox.Show(res);
}
以上是net4下的代码
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//表头不处理
if(e.RowIndex==-1) return;
//处理非表头数据
string res = String.Join
(" ",
this.dataGridView1.Rows[e.RowIndex].Cells.Cast<DataGridViewCell>()
.Select(
p => String.Format("{0}:{1}", p.OwningColumn.HeaderText, p.Value))
);
MessageBox.Show(res);
}
以上是net4下的代码
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
datagridview oncellselected事件 aaa=string.format("{0}:{1}",datagridview.cell[e.row,e.columns].value,datagridview.cell[e.row,e.columns].header)
没有试过,应该是这样,在oncellselected事件中的eventargs参数会带上用户选择的列的行号和列号
没有试过,应该是这样,在oncellselected事件中的eventargs参数会带上用户选择的列的行号和列号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询