Effet d'implémentation : sélectionnez une ligne dans le tableau principal et obtenez les détails de la ligne dans le tableau.
Méthode 1 : implémentation du code.
Mettez un GridView et un DetailView sur la page. Liez les données au GridView et définissez la clé primaire, puis écrivez le code dans l'événement SelectedIndexChanged : lorsque la sélection change, le DetailView passe également au détail correspondant.
Code spécifique :
utiliser le système ;
en utilisant System.Data ;
en utilisant System.Configuration ;
en utilisant System.Collections ;
en utilisant System.Web ;
en utilisant System.Web.Security ;
en utilisant System.Web.UI ;
en utilisant System.Web.UI.WebControls ;
en utilisant System.Web.UI.WebControls.WebParts ;
en utilisant System.Web.UI.HtmlControls ;
en utilisant System.Data.SqlClient ;
classe partielle publique MasterDetail2 : System.Web.UI.Page
{
protected void Page_Load (expéditeur de l'objet, EventArgs e)
{
si (!Page.IsPostBack)
{
chaîne SQL = "SELECT * FROM [Commandes]" ;
GridView1.DataSource = Liaison (SQL);
GridView1.DataKeyNames = new string[] { "OrderID" } ;
GridView1.DataBind();
}
}
protected void GridView1_SelectedIndexChanged (expéditeur d'objet, EventArgs e)
{
chaîne OrderID = Convert.ToString(GridView1.SelectedValue);
chaîne SQL = "SELECT * FROM [OrderDetails] WHERE [OrderID]='" + OrderID + "'" ;
DétailsView1.DataSource = Liaison (SQL);
DétailsView1.DataBind();
}
/**//// <résumé>
/// Exécute l'instruction SQL pour renvoyer une table de données
/// </summary>
/// <param name="SQL">Instruction SQL à exécuter</param>
/// <retours>DataTable</retours>
liaison DataTable protégée (chaîne SQL)
{
SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
DataTable dt=nouveau DataTable();
SqlDataAdapter monAdapter = nouveau SqlDataAdapter(SQL, myConn);
monAdaptateur.Fill(dt);
retourner dt;
}
}
Méthode 2 : définissez les propriétés du contrôle pour placer un GridView et un DetailView sur la page, puis chacun correspond à une source de données. Ceci peut être réalisé tant que vous utilisez la SelectedValue du GridView comme paramètre dans la SelectCommand de la source de données du DetailView.
<SélectionnerParamètres>
<asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"
Tapez="Int32" />
</SélectionnerParamètres>
Les deux méthodes sont très simples, la méthode 2 est fondamentalement sans code et la méthode 1 a un contrôle plus flexible.