Efecto de implementación: seleccione una fila en la tabla principal y obtenga los detalles de la fila de la tabla.
Método 1: implementación del código.
Coloque un GridView y un DetailView en la página. Vincule los datos a GridView y establezca la clave principal, y luego escriba el código en el evento SelectedIndexChanged: cuando la selección cambia, DetailView también cambia al Detalle correspondiente.
Código específico:
usando Sistema;
usando System.Data;
usando System.Configuration;
usando System.Collections;
usando System.Web;
utilizando System.Web.Security;
utilizando System.Web.UI;
usando System.Web.UI.WebControls;
usando System.Web.UI.WebControls.WebParts;
usando System.Web.UI.HtmlControls;
usando System.Data.SqlClient;
clase parcial pública MasterDetail2: System.Web.UI.Page
{
Page_Load vacío protegido (remitente del objeto, EventArgs e)
{
si (!Página.IsPostBack)
{
cadena SQL = "SELECCIONAR * DE [Pedidos]";
GridView1.DataSource = Enlace (SQL);
GridView1.DataKeyNames = nueva cadena [] { "ID de pedido" };
GridView1.DataBind();
}
}
protegido vacío GridView1_SelectedIndexChanged (remitente del objeto, EventArgs e)
{
cadena OrderID = Convert.ToString(GridView1.SelectedValue);
cadena SQL = "SELECCIONAR * DESDE [Detalles del pedido] DONDE [ID del pedido] ='" + ID del pedido + "'";
DetallesView1.DataSource = Enlace (SQL);
DetallesView1.DataBind();
}
/**//// <resumen>
/// Ejecutar la instrucción SQL para devolver una tabla de datos
/// </summary>
/// <param name="SQL">sentencia SQL a ejecutar</param>
/// <returns>Tabla de datos</returns>
Enlace de tabla de datos protegido (cadena SQL)
{
SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
Tabla de datos dt=nueva Tabla de datos();
SqlDataAdapter myAdapter = nuevo SqlDataAdapter(SQL, myConn);
miAdaptador.Fill(dt);
devolver dt
;
}
Método 2: establezca las propiedades del control para colocar un GridView y un DetailView en la página, y luego cada uno corresponde a una fuente de datos. Esto se puede lograr siempre que utilice SelectedValue de GridView como parámetro en SelectCommand de la fuente de datos de DetailView.
<Seleccionar parámetros>
<asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"
Tipo="Int32" />
</Seleccionar parámetros>
Ambos métodos son muy simples, el método 2 básicamente no tiene código y el método 1 tiene un control más flexible.