DataGridView的行弹出修改窗口 winform菜鸟,懂winform的前辈们,能给个例子吗?就是用DataGridView的绑定多行中,每行都有一个编辑按钮,点击编辑按钮,弹出一个窗口修改相应数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 像asp.net的gridview的那种,有增删改查,就是在winform里面不知道怎么弄 帮你写了个例子,有点多,不往这贴了http://blog.csdn.net/zhangandli/article/details/7720227 楼主,不用再列表放按钮,每行读放按钮不美观,,用右键或者双击行进行弹窗修改 private void tsmEdit_Click(object sender, EventArgs e) { try { int index = dgvList.SelectedCells[0].RowIndex; int Id = Convert.ToInt32(dgvList.SelectedRows[0].Cells["ID"].Value.ToString()); EmployeeEdit edit = new EmployeeEdit(true, Id); if (edit.ShowDialog() == DialogResult.OK) { EmployeeModel emp = edit.emp; string sql =""; if (DBHelper.Execute(sql)) { bindDgv(); dgvList.Rows[index].Selected = true;//列表刷新后重新选中编辑行 this.Focus(); // MessageBox.Show("员工添加成功!"); } else { // MessageBox.Show("员工添加失败!"); return; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }//设置列表右键 private void dgvList_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) { if (e.Button == MouseButtons.Right) { if (e.RowIndex >= 0) { if (dgvList.Rows[e.RowIndex].Selected == false) { dgvList.ClearSelection(); dgvList.Rows[e.RowIndex].Selected = true; } if (dgvList.SelectedRows.Count == 1 && e.ColumnIndex != -1) { dgvList.CurrentCell = dgvList.Rows[e.RowIndex].Cells[e.ColumnIndex]; } dgvList.ContextMenuStrip = contextMenuStrip1; } else { dgvList.ContextMenuStrip = null; return; } } }//双击弹窗修改 private void dgvList_DoubleClick(object sender, EventArgs e) { tsmEdit_Click(null, null); } 学习C#和项目建议的问题,谢谢 c#中的异常问题 我想问一下图中的内容是如何实现的代码 大家好!问个问题,在C#中用Timer控件的应用!谢谢! 在线打分!!!!窗体的启动?? 关于datagrid模板类中的控件怎么使用哑 做期货股票去了,不做程序员了,散分 .net 水晶报表 子报表无法显示 接口问题 如何用AxSHDocVw.AxWebBrowser.Navigate()方法控制页面的刷新? 是不是每个托管资源和非托管资源都有dispose()方法? 请教下vs设置的问题.很简单的,望大侠解答.
http://blog.csdn.net/zhangandli/article/details/7720227
private void tsmEdit_Click(object sender, EventArgs e)
{
try
{
int index = dgvList.SelectedCells[0].RowIndex;
int Id = Convert.ToInt32(dgvList.SelectedRows[0].Cells["ID"].Value.ToString());
EmployeeEdit edit = new EmployeeEdit(true, Id);
if (edit.ShowDialog() == DialogResult.OK)
{
EmployeeModel emp = edit.emp;
string sql ="";
if (DBHelper.Execute(sql))
{
bindDgv();
dgvList.Rows[index].Selected = true;//列表刷新后重新选中编辑行
this.Focus();
// MessageBox.Show("员工添加成功!");
}
else
{
// MessageBox.Show("员工添加失败!");
return;
}
} }
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}//设置列表右键
private void dgvList_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (e.RowIndex >= 0)
{ if (dgvList.Rows[e.RowIndex].Selected == false)
{
dgvList.ClearSelection();
dgvList.Rows[e.RowIndex].Selected = true;
}
if (dgvList.SelectedRows.Count == 1 && e.ColumnIndex != -1)
{
dgvList.CurrentCell = dgvList.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
dgvList.ContextMenuStrip = contextMenuStrip1;
} else
{
dgvList.ContextMenuStrip = null;
return;
}
}
}
//双击弹窗修改
private void dgvList_DoubleClick(object sender, EventArgs e)
{
tsmEdit_Click(null, null);
}