Efeito de implementação: selecione uma linha na tabela principal e obtenha os detalhes da linha na tabela.
Método 1: implementação de código.
Coloque um GridView e um DetailView na página. Vincule os dados ao GridView e defina a chave primária e, em seguida, escreva o código no evento SelectedIndexChanged: quando a seleção muda, o DetailView também muda para o Detail correspondente.
Código específico:
usando o sistema;
usando System.Data;
usando System.Configuration;
usando System.Collections;
usando System.Web;
usando System.Web.Security;
usando System.Web.UI;
usando System.Web.UI.WebControls;
usando System.Web.UI.WebControls.WebParts;
usando System.Web.UI.HtmlControls;
usando System.Data.SqlClient;
classe parcial pública MasterDetail2: System.Web.UI.Page
{
protegido void Page_Load (remetente do objeto, EventArgs e)
{
se (!Page.IsPostBack)
{
string SQL = "SELECT * FROM [Pedidos]";
GridView1.DataSource = Vinculação(SQL);
GridView1.DataKeyNames = new string[] { "OrderID" };
GridView1.DataBind();
}
}
protegido void GridView1_SelectedIndexChanged(objeto remetente, EventArgs e)
{
string OrderID = Convert.ToString(GridView1.SelectedValue);
string SQL = "SELECT * FROM [OrderDetails] WHERE [OrderID]='" + OrderID + "'";
DetalhesView1.DataSource = Vinculação(SQL);
DetalhesView1.DataBind();
}
/**//// <resumo>
/// Executa a instrução SQL para retornar uma tabela de dados
/// </sumário>
/// <param name="SQL">Instrução SQL a ser executada</param>
/// <returns>DataTable</returns>
Ligação DataTable protegida (string SQL)
{
SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
DataTable dt=new DataTable();
SqlDataAdapter meuAdapter = new SqlDataAdapter(SQL, minhaConn);
meuAdapter.Fill(dt);
retornar dt
;
}
Método 2: defina as propriedades do controle para colocar um GridView e um DetailView na página e, em seguida, cada um corresponde a uma fonte de dados. Isso pode ser alcançado desde que você use o SelectedValue do GridView como parâmetro no SelectCommand da fonte de dados do DetailView.
<Selecionar Parâmetros>
<asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"
Digite = "Int32" />
</SelectParameters>
Ambos os métodos são muito simples, o método 2 é basicamente livre de código e o método 1 tem um controle mais flexível.