当我在gridview中选择一行时,我正在尝试将mysql数据加载到标签。
这是我的类,它获取所选的行值并将其绑定到标签。
private void LoadOrders()
{
con.Open();
cmd = new SqlCommand(@"Select quo_product,quo_address
FROM JobQuotations
WHERE quotationId = @id
AND quo_product = @product",con);
//1st row 2nd column
cmd.Parameters.AddWithValue("@id",GridView1.SelectedIndex.ToString());
//1st row 3rd column
cmd.Parameters.AddWithValue("@product",GridView1.SelectedIndex.ToString());
if(rdr.HasRows)
{
while(rdr.Read())
{
lblProductName.Text = rdr["quo_product"].ToString();
lblAddress.Text = rdr["quo_Address"].ToString();
}
}
con.Close();
}
我知道我的 if 语句中缺少一些代码,因为我不知道如何在其上获取所选的行值。我将在 cmd.Parameter <中输入什么/ strong>为了获得 selectedRow 值?
答案 0 :(得分:1)
尝试这个,如果它没有工作,让我知道问题,看看我可以改变什么使它工作,我还没有用2个不同的细胞名称做到这一点。您可以使用datagridview更新顶部的图像,以获得您正在使用的datagridview的列名。
private void dataGrid1_SelectionChanged(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGrid1.SelectedRows)
{
string quo_product = row.Cells[0].Value.ToString();
//string quo_Address = row.Cells[0].Value.ToString();
}
lblProductName.Text = quo_product;
//lblAddress.Text = quo_Address;
}
<强>更新强>
由于rai nalasa(Question)稍后提出的问题
,此问题已得到解决答案 1 :(得分:0)
尝试GridView1.SelectedRows[0].Cells["ColumnName"].Value
或GridView1.CurrentRow.Cells[index or column name]