DataGridView các giá trị cột của hàng đã chọn vào hộp văn bản

lập trình

[ad_1]

Xin chào, cần trợ giúp về cách lấy các giá trị từ datagridview sang hộp văn bản, tôi đang có một datagridview lấy dữ liệu từ SQL, đếm 4 cột và số hàng được truy xuất từ ​​sql, tôi có 4 hộp văn bản, tôi muốn các giá trị cột của hàng được chọn trong datagridview vào hộp văn bản.

Vui lòng tư vấn tương tự.

Giải pháp 1

Bạn có thể sẽ muốn trả lời Sự kiện DataGridView.SelectionChanged[^].
Trong trình xử lý của nó, hãy kiểm tra xem một hàng đã được chọn chưa, sau đó lấy các giá trị từ hàng đó và đặt chúng vào hộp văn bản.

C#
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
  if( DataGridView1.SelectedRows.Count = 0 )
  {
    TextBox1.Value = DataGridView1.SelectedRows(0).Cells(0).Value;
    TextBox2.Value = DataGridView1.SelectedRows(0).Cells(1).Value;
    TextBox3.Value = DataGridView1.SelectedRows(0).Cells(2).Value;
    TextBox4.Value = DataGridView1.SelectedRows(0).Cells(3).Value;
  }
}

Mã chưa được kiểm tra và có thể có lỗi chính tả.

Hãy đảm bảo rằng Thuộc tính DataGridView.SelectionMode[^] được đặt thành FullRowSelect để cái này hoạt động.

Bạn có thể dùng Thuộc tính DataGridView.MultiSelect[^] để đảm bảo mỗi lần chỉ có một hàng được chọn.

Giải pháp 3

Xin chào, bây giờ mọi chuyện ổn rồi

C#
private void dgviewSearch_CellcontentClick(object sender, DataGridViewCellEventArgs e)
{
int i;
i = dgViewSearch.SelectedCells[0].RowIndex;
textBox3.Text = dgViewSearch.Rows[i].Cells[1].Value.ToString();
textBox4.Text = dgViewSearch.Rows[i].Cells[3].Value.ToString();
}

Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn, tôi rất mong được lựa chọn nhiều lựa chọn trên datagridview vào hộp văn bản với, (dấu phẩy) như (2001,2002,2003)

Giải pháp 2

Đăng ký sự kiện MouseClick của lưới và sử dụng mã sau đây.

C#
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
    DataGridViewRow dr = dataGridView1.SelectedRows[0];
    textBox1.Text = dr.Cells[0].Value.ToString();
     // or simply use column name instead of index
    //dr.Cells["id"].Value.ToString();
    textBox2.Text = dr.Cells[1].Value.ToString();
    textBox3.Text = dr.Cells[2].Value.ToString();
    textBox4.Text = dr.Cells[3].Value.ToString();
}

Và thêm dòng sau vào sự kiện tải của bạn

C#
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

Giải pháp 8

void riêng tư dgvAllUsers_CellContentClick(người gửi đối tượng, DataGridViewCellEventArgs e)
{

nếu (e.RowIndex >= 0)
{
Hàng DataGridViewRow = this.dgvAllUsers.Rows[e.RowIndex];

textId.Text = row.Cells[“idUser”].Value.ToString();
textFullName.Text = row.Cells[“FullName”].Value.ToString();
textUserName.Text = row.Cells[“UserName”].Value.ToString();
textPassword.Text = row.Cells[“Password”].Value.ToString();
textAddress.Text = row.Cells[“Address”].Value.ToString();
textGender.Text = row.Cells[“Gender”].Value.ToString();
textcontactNumber.Text = row.Cells[“ContactNumber”].Value.ToString();
ComboUserType.SelectedText = row.Cells[“UserType”].Value.ToString();
}
}

Giải pháp 9

Luôn sử dụng sự kiện GridView1_CellEnt vì nếu bạn di chuyển các ô bằng phím mũi tên hoặc nhấp bằng chuột thì sẽ hữu ích cho cả hai.
và luôn sử dụng if (dataGridView1.SelectedCells.Count > 0) nếu không bạn phải chọn hàng hoàn chỉnh.
dữ liệu void riêng tưGridView1_CellEnter(người gửi đối tượng, DataGridViewCellEventArgs e)
{
if (dataGridView1.SelectedCells.Count > 0) // đảm bảo người dùng chọn ít nhất 1 hàng
{

DataGridToTextboxes(e.RowIndex);

}
}

khoảng trống riêng tư DataGridToTextboxes(int x)
{

chuỗi Item1 = dataGridView1.Rows[x].Cells[1].Value + string.Empty;

// chuỗi SrNo = selectedRows.Cells[0].Value + string.Empty;
// chuỗi Item1 = selectedRows.Cells[1].Value + string.Empty;

chuỗi MinRange = dataGridView1.Rows[x].Cells[2].Value + string.Empty;
chuỗi MaxRange = dataGridView1.Rows[x].Cells[3].Value + string.Empty;

chuỗi MinStable = dataGridView1.Rows[x].Cells[4].Value + string.Empty;
chuỗi MaxStable = dataGridView1.Rows[x].Cells[5].Value + string.Empty;

txtItem.Text = Item1;
TextMinRange.Text = MinRange;
TextMaxRange.Text = MaxRange;
TextMinStable.Text = MinStable;
TextMaxStable.Text = MaxStable;
}

[ad_2]

コメント

タイトルとURLをコピーしました