在datagridview中点击单元格弹出窗体进行选择 返回给原窗体(1)
- UID
- 1066743
|
在datagridview中点击单元格弹出窗体进行选择 返回给原窗体(1)
涉及到的知识:
1.CellClick事件 (注意区别CellContentClick)
CellContentClick 是必须要点中单元格里的内容才触发
CellClick 是只要点中单元格就触发
2.给datagridview 赋值
主要是先给一个datagridview数据源datatable 然后相应修改datatable的值即可
3.弹出新窗体
4.窗体传值(在Form初始化时传值)
5.委托 其实也是用于传值
6.checkbox的用法
代码如下:
Form1.cs中
cellClick事件
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
int CIndex = e.ColumnIndex;
if (CIndex == 9)
{
Form a= new Form3(e.RowIndex,e.ColumnIndex);
a.Show();
}
else
{
MessageBox.Show("请选择正确的单元格");
}
}
catch
{
MessageBox.Show("请点击正确单元格以及检查你的内容是否正确");
}
}
委托事件
public Form1()
{
InitializeComponent();
Form3.setStatusDelegate_request = new setStatusDelegate_request((i) =>
{
this.Invoke(new setStatusDelegate_request((a) =>
{
string[] returnstr = a.Split('|');
int row = int.Parse(returnstr[1].ToString());
int col = int.Parse(returnstr[2].ToString());
string request=returnstr[0].ToString();
string[] b = request.Split(',');
string a_id = "";
for (int ii = 0; ii < b.Length; ii++)
{
if (ii == b.Length - 1)
{
a_id += _ht_request[b[ii]].ToString();
}
else
{
a_id += _ht_request[b[ii]].ToString() + ",";
}
}
_dt_Data.Rows[row][col] = request;
_dt_Data.Rows[row][17] = a_id;
}), i);
});
} |
|
|
|
|
|