【C#】winfromdataGridView鍵盤上下左右方向
阿新 • • 發佈:2019-02-01
/// <summary>
/// dataGridView鍵盤上下左右時獲取對應選中的資料,
/// 呼叫:this.tbSheet_No.Text = all.dgvSX(dataGridView1, e);
/// tbSheet_No.Refresh();
/// </summary>
/// <param name="dgv"></param>
/// <param name="e"></param>
/// <returns></returns>
public string dgvSX(DataGridView dgv, KeyEventArgs e)
{
string code = "";
int dgvRows = dgv.RowCount;
if (dgvRows > 0)
{
int row = dgv.CurrentRow.Index;//獲取上次當前選中的
int rowww = dgv.Rows.Count - 1; //獲取最後一行
if (e.KeyCode == Keys.Down) //鍵盤按方向下
{
if (row == rowww)
{
code = dgv.Rows[row].Cells["單據編號"].Value.ToString();//獲取之前的
}
else
{
code = dgv.Rows[row + 1].Cells["單據編號"].Value.ToString();//獲取之前的
}
}
if (e.KeyCode == Keys.Up)//鍵盤按方向上
{
if (row - 1 < 0)
{
code = dgv.Rows[0].Cells["單據編號"].Value.ToString();//獲取之前的
}
else
{
code = dgv.Rows[row - 1].Cells["單據編號"].Value.ToString();//獲取之前的
}
}
}
return code;
}
private void dgwCustomer_KeyDown(object sender, KeyEventArgs e)
{
//dataGridView鍵盤上下左右方向,以下是有2個dataGridView
int row = this.dgwCustomer.CurrentRow.Index;//獲取上次當前選中的
int rowww = dgwCustomer.Rows.Count - 1; //獲取最後一行
string khbh = "";
if (e.KeyCode == Keys.Down ) //鍵盤按方向下
{
if (row== rowww)
{
khbh = this.dgwCustomer.Rows[row].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
else
{
khbh = this.dgwCustomer.Rows[row + 1].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
}
if (e.KeyCode == Keys.Up)//鍵盤按方向上
{
if (row - 1 <0)
{
khbh = this.dgwCustomer.Rows[0].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
else
{
khbh = this.dgwCustomer.Rows[row - 1].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
}
}
/// dataGridView鍵盤上下左右時獲取對應選中的資料,
/// 呼叫:this.tbSheet_No.Text = all.dgvSX(dataGridView1, e);
/// tbSheet_No.Refresh();
/// </summary>
/// <param name="dgv"></param>
/// <param name="e"></param>
/// <returns></returns>
public string dgvSX(DataGridView dgv, KeyEventArgs e)
{
string code = "";
int dgvRows = dgv.RowCount;
if (dgvRows > 0)
{
int row = dgv.CurrentRow.Index;//獲取上次當前選中的
int rowww = dgv.Rows.Count - 1; //獲取最後一行
if (e.KeyCode == Keys.Down) //鍵盤按方向下
{
if (row == rowww)
{
code = dgv.Rows[row].Cells["單據編號"].Value.ToString();//獲取之前的
}
else
{
code = dgv.Rows[row + 1].Cells["單據編號"].Value.ToString();//獲取之前的
}
}
if (e.KeyCode == Keys.Up)//鍵盤按方向上
{
if (row - 1 < 0)
{
code = dgv.Rows[0].Cells["單據編號"].Value.ToString();//獲取之前的
}
else
{
code = dgv.Rows[row - 1].Cells["單據編號"].Value.ToString();//獲取之前的
}
}
}
return code;
}
private void dgwCustomer_KeyDown(object sender, KeyEventArgs e)
{
//dataGridView鍵盤上下左右方向,以下是有2個dataGridView
int row = this.dgwCustomer.CurrentRow.Index;//獲取上次當前選中的
int rowww = dgwCustomer.Rows.Count - 1; //獲取最後一行
string khbh = "";
if (e.KeyCode == Keys.Down ) //鍵盤按方向下
{
if (row== rowww)
{
khbh = this.dgwCustomer.Rows[row].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
else
{
khbh = this.dgwCustomer.Rows[row + 1].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
}
if (e.KeyCode == Keys.Up)//鍵盤按方向上
{
if (row - 1 <0)
{
khbh = this.dgwCustomer.Rows[0].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
else
{
khbh = this.dgwCustomer.Rows[row - 1].Cells[1].Value.ToString();//獲取之前的
showMin(khbh);
}
}
}