Säg att du har en dropdownlist där du kan välja olika kategorier, och väljer du kategori 1, så ska alla som ha det i kategori 1 i databasen visas i datagriden.
Alltså SQL-frågan ändras beroende på vad du väljder i dropdownlistan.
select case request.querystring("adress")
case "1"
SQL="en SQL-fråga"
case "2"
SQL = "en annan SQL-fråga"
case else
SQL = "en sista SQL-fråga om ingen ovan vill"
end select
'kod för att köra frågan mot en databas
/r
Naturligtvis kan du ha option-element i dropdownlistan också, även om jag i mitt fall lade till val i codebehind.
//C#
protected void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
Bind();
}
protected void ddl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
Bind();
}
private void Bind()
{
string sql = string.Format("SELECT * FROM dintabell WHERE kategoriId = {0}", int.Parse(ddl1.SelectedValue));
//Annan kod som hämtar datan från databasen
//Och som du sen binder till din datagrid
datagrid1.DataSource = GetData();
datagrid1.DataBind();
}
'VB.NET
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not IsPostBack Then
Bind
End If
End Sub
Protected Sub ddl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Bind
End Sub
Private Sub Bind()
Dim sql As String = String.Format("SELECT * FROM dintabell WHERE kategoriId = {0}", Integer.Parse(ddl1.SelectedValue))
'Annan kod som hämtar datan från databasen
'Och som du sen binder till din datagrid
datagrid1.DataSoruce = GetData
datagrid1.DataBind
End Sub