Ahoj, mám problém s událostí RowDataBound u GridView. Mám tabulku kterou zobrazuji v GridView: Typ | Zákazník --------------------------------------------- Zákonný zástupce | 12 Manager | 6 a potřebuju aby když je v prvním sloupci "Zákonný zástupce" tak aby se číslo v druhém sloupci nahradilo záznamem z tabulky z databáze z jedné tabulky podle ID které to číslo reprezentuje a pokud je to "Manager" tak záznamem z druhé tabulky. Momentálně to řeším takto:
protected void FunctionsListGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["iHolverConnectionString"].ConnectionString);
SqlCommand cmd;
if (e.Row.Cells[0].Text.ToString() == "Zákonný zástupce")
{
try
{
connection.Open();
cmd = new SqlCommand("SELECT ([FirstName] + ' ' + [LastName]) AS Name FROM [People] WHERE [Id] = @Id", connection);
cmd.Parameters.AddWithValue("Id", e.Row.Cells[1].Text.ToString());
e.Row.Cells[1].Text = cmd.ExecuteScalar().ToString();
}
finally
{
connection.Close();
}
}
else
{
try
{
connection.Open();
cmd = new SqlCommand("SELECT [BusinessName] FROM [Organizations] WHERE [Id] = @Id", connection);
cmd.Parameters.AddWithValue("Id", e.Row.Cells[1].Text.ToString());
e.Row.Cells[1].Text = cmd.ExecuteScalar().ToString();
}
finally
{
connection.Close();
}
}
}
ale tento kód mi vždycky skočí do té větve else i když je v prvním sloupci "Zákonný zástupce" a já nechápu proč. Máte někdo nějaké tipy kde by mohla být chyba? Díky.
|