På denna sida så finns en GridView1 och en DetailsView1. Jag anar att jag är på rätt väg, men ändå... Och så löste jag detta med (kl 4:50 på natten, kunde inte sova).Problem med att lägga till en sökfunktion i befintligt script.
Jag kopplar databasen via AccessDataSource2 till GridView1 och när man har selectat en post
AccessDataSource3 till DetailsView1. Jag har alltså inte behövt skriva någon kod här.
Nu ville jag ha en sökfunktion, och har lagt till textbox txtSok och knappen btnSok för att söka på
epostadresser.
<code>
protected void btnSok_Click(object sender, EventArgs e)
{
if (txtSok.Text.Length > 0)
{
string SQL = "SELECT t_Forening.PortID, t_Forening.Forening, t_Forening.KontaktNamn
FROM t_Forening WHERE t_Forening.Epost='" + txtSok.Text + "'";
GridView1.DataSource = Webbutil.fillDs(DBConn, SQL, "Epost").Tables["Epost"].DefaultView;
GridView1.DataBind();
}
}
'i webbutil
public static DataSet fillDs(OleDbConnection DBConn, string sql, string dsName)
{
string sSql = sql;
DBConn = new OleDbConnection(ConfigurationManager.ConnectionStrings
["ConnectionString"].ConnectionString);
OleDbDataAdapter Adapter = new OleDbDataAdapter();
DataSet ds = new DataSet();
Adapter.SelectCommand = new OleDbCommand(sSql, DBConn);
Adapter.Fill(ds, dsName);
return ds;
}
</code>
Jag får ett error som jag inte är säker på hur jag skall hantera:
<info>
'den pekar på
GridView1.DataBind();
'och skriver
Både DataSource och DataSourceID har definierats på GridView1. Ta bort en av definitionerna.
</info>
Om jag plockar bort GridView1.DataBind(); då bör ju inte kopplingarna fungera i ordinaie läge?
Hur löser jag detta?Sv: Problem med att lägga till en sökfunktion i befintligt script.
<code>
AccessDataSource2 = new AccessDataSource();
AccessDataSource2.SelectCommand="SELECT t_Forening.PortID, t_Forening.Forening,
t_Forening.KontaktNamn FROM t_Forening WHERE t_Forening.Epost='" + txtSok.Text + "'";
GridView1.DataSource = AccessDataSource2;
GridView1.DataBind();
</code>
men jag får samma fel:
<info>
Både DataSource och DataSourceID har definierats på GridView1. Ta bort en av definitionerna
</info>
Jag vore väldigt tacksam om någon kunde peka på rätt håll här...Sv:Problem med att lägga till en sökfunktion i befintligt script.
Det var så enkelt, och jag hadde varit där och taffsat men...
<code>
if (txtSok.Text.Length > 0)
{
AccessDataSource2.SelectCommand = "SELECT t_Forening.PortID, t_Forening.Forening,
t_Forening.KontaktNamn FROM t_Forening WHERE t_Forening.Epost='" + txtSok.Text + "'";
GridView1.DataBind();
}
</code>