Implementierungseffekt: Wählen Sie eine Zeile in der Haupttabelle aus und rufen Sie die Details der Zeile aus der Tabelle ab.
Methode 1: Code-Implementierung.
Fügen Sie eine GridView und eine DetailView auf der Seite ein. Binden Sie die Daten an GridView, legen Sie den Primärschlüssel fest und schreiben Sie dann Code in das SelectedIndexChanged-Ereignis: Wenn sich die Auswahl ändert, ändert sich auch DetailView in das entsprechende Detail.
Spezifischer Code:
Verwenden des Systems;
Verwenden von System.Data;
Verwenden von System.Configuration;
Verwenden von System.Collections;
mit System.Web;
mit System.Web.Security;
mit System.Web.UI;
mit System.Web.UI.WebControls;
mit System.Web.UI.WebControls.WebParts;
mit System.Web.UI.HtmlControls;
Verwenden von System.Data.SqlClient;
öffentliche Teilklasse MasterDetail2: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string SQL = "SELECT * FROM [Bestellungen]";
GridView1.DataSource = Binding(SQL);
GridView1.DataKeyNames = new string[] { "OrderID" };
GridView1.DataBind();
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
string OrderID = Convert.ToString(GridView1.SelectedValue);
string SQL = "SELECT * FROM [OrderDetails] WHERE [OrderID]='" + OrderID + "'";
DetailsView1.DataSource = Binding(SQL);
DetailsView1.DataBind();
}
/**//// <Zusammenfassung>
/// Führen Sie die SQL-Anweisung aus, um eine Datentabelle zurückzugeben
/// </summary>
/// <param name="SQL">Auszuführende SQL-Anweisung</param>
/// <returns>DataTable</returns>
geschützte DataTable-Bindung (String SQL)
{
SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
DataTable dt=new DataTable();
SqlDataAdapter myAdapter = new SqlDataAdapter(SQL, myConn);
myAdapter.Fill(dt);
return dt
;
}
Methode 2: Legen Sie die Steuerelementeigenschaften fest, um eine GridView und eine DetailView auf der Seite zu platzieren, und dann entspricht jede einer Datenquelle. Dies kann erreicht werden, solange Sie den SelectedValue der GridView als Parameter im SelectCommand der Datenquelle der DetailView verwenden.
<Parameter auswählen>
<asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
Beide Methoden sind sehr einfach, Methode 2 ist grundsätzlich codefrei und Methode 1 bietet eine flexiblere Steuerung.