在C#中,单击数据网格视图列后,如何用数据库中的数据填充文本框?如果我在datagridview中单击整行,我希望数据被放入窗口窗体设计的文本框中。
guykilcj1#
我使用一个两步的过程第一步我有数据加载在一个DataGridView点击它以获得的ID的人我想显示的数据在文本框的这里是点击事件的DataGridView
private void dgvPerson_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex == -1 | e.ColumnIndex == -1) { tbMessage.Text = "No Clicking Here"; return; } else { ID = Convert.ToInt32(dgvPerson.Rows[e.RowIndex].Cells[0].Value.ToString()); Close(); frmADE fADE = new frmADE(); udID = ID; if (doWhat == 2) { fADE.doWhat = 2; } if (doWhat == 3) { fADE.doWhat = 3; } if (doWhat == 4) { fADE.doWhat = 4; } var form = new frmCRUD(); form.GetID(udID); fADE.Show(); } }
好了,现在我有了ID,它在变量newData中,我读取了数据。在我的例子中,数据库CRUD函数在类库中。只需将所有这些fn,ln,ad变量更改为TextBox的名称。
public void readUDV() { using (SQLiteConnection conn = new SQLiteConnection($"Data Source = '{dbName}';Version=3;")) { conn.Open(); using (SQLiteCommand cmd = new SQLiteCommand($"SELECT * FROM FriendsData WHERE FID = " + newData, conn)) { using (var rdr = cmd.ExecuteReader()) { while (rdr.Read()) { fn = rdr["fxFirstName"].ToString().Trim(); ln = rdr["fxLastName"].ToString().Trim(); ad = rdr["fxAddress"].ToString().Trim(); ct = rdr["fxCity"].ToString().Trim(); st = rdr["fxState"].ToString().Trim(); zp = rdr["fxZip"].ToString().Trim(); ph = rdr["fxCellPhone"].ToString().Trim(); em = rdr["fxEmail"].ToString().Trim(); rt = rdr["fxInfo"].ToString().Trim(); } } } } }
1条答案
按热度按时间guykilcj1#
我使用一个两步的过程第一步我有数据加载在一个DataGridView点击它以获得的ID的人我想显示的数据在文本框的这里是点击事件的DataGridView
好了,现在我有了ID,它在变量newData中,我读取了数据。在我的例子中,数据库CRUD函数在类库中。只需将所有这些fn,ln,ad变量更改为TextBox的名称。