DataGridView memilih nilai kolom baris ke kotak teks

pemrograman


Hai, butuh bantuan untuk mendapatkan nilai dari datagridview ke kotak teks, saya memiliki datagridview yang mendapatkan data dari SQL yang menghitung 4 kolom dan jumlah baris yang diambil dari sql, saya memiliki 4 kotak teks, saya ingin datagridview nilai kolom baris yang dipilih ke kotak teks.

Mohon saran tentang hal yang sama.

Solusi 1

Anda mungkin ingin menanggapinya Acara DataGridView.SelectionChanged[^].
Dalam pengendalinya, periksa apakah satu baris telah dipilih, lalu dapatkan nilai dari baris tersebut dan tempatkan di kotak teks.

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;
  }
}

Kode belum diuji dan mungkin mengandung kesalahan ketik.

Pastikan Properti DataGridView.SelectionMode[^] diatur ke FullRowSelect agar ini berhasil.

Anda dapat gunakan Properti DataGridView.MultiSelect[^] untuk memastikan hanya satu baris yang dipilih pada suatu waktu.

Solusi 3

Hai, sekarang sudah baik-baik saja

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();
}

Terima kasih banyak atas bantuan Anda, saya menantikan beberapa pilihan di datagridview ke kotak teks dengan, (koma) seperti (2001,2002,2003)

Solusi 2

Daftarkan acara MouseClick grid dan gunakan kode berikut.

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();
}

Dan tambahkan baris berikut di acara load Anda

C#
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

Solusi 8

private void dgvAllUsers_CellContentClick(pengirim objek, DataGridViewCellEventArgs e)
{

jika (e.Indeks Baris >= 0)
{
Baris DataGridViewRow = ini.dgvAllUsers.Rows[e.RowIndex];

textId.Teks = baris.Sel[“idUser”].Nilai.ToString();
textFullName.Text = baris.Sel[“FullName”].Nilai.ToString();
textUserName.Text = baris.Sel[“UserName”].Nilai.ToString();
textPassword.Text = baris.Sel[“Password”].Nilai.ToString();
textAddress.Text = baris.Sel[“Address”].Nilai.ToString();
textGender.Text = baris.Sel[“Gender”].Nilai.ToString();
textContactNumber.Teks = baris.Sel[“ContactNumber”].Nilai.ToString();
ComboUserType.SelectedText = baris.Sel[“UserType”].Nilai.ToString();
}
}

Solusi 9

Selalu gunakan acara GridView1_CellEnt karena jika Anda memindahkan sel dengan tombol panah atau mengklik dengan mouse akan berguna untuk keduanya.
dan selalu gunakan if (dataGridView1.SelectedCells.Count > 0) jika tidak, Anda harus memilih baris lengkap.
private void dataGridView1_CellEnter(pengirim objek, DataGridViewCellEventArgs e)
{
if (dataGridView1.SelectedCells.Count > 0) // pastikan pengguna memilih setidaknya 1 baris
{

DataGridToTextboxes(e.RowIndex);

}
}

kekosongan pribadi DataGridToTextboxes(int x)
{

string Item1 = dataGridView1.Baris[x].Sel[1].Nilai + string.Kosong;

// string SrNo = baris yang dipilih.Sel[0].Nilai + string.Kosong;
// string Item1 = Baris yang dipilih.Sel[1].Nilai + string.Kosong;

string MinRange = dataGridView1.Baris[x].Sel[2].Nilai + string.Kosong;
string MaxRange = dataGridView1.Baris[x].Sel[3].Nilai + string.Kosong;

string MinStable = dataGridView1.Baris[x].Sel[4].Nilai + string.Kosong;
string MaxStable = dataGridView1.Baris[x].Sel[5].Nilai + string.Kosong;

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

コメント

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