Эффект реализации: выберите строку в основной таблице и получите сведения о ней из таблицы.
Способ 1: реализация кода.
Поместите GridView и DetailView на страницу. Привяжите данные к GridView и задайте первичный ключ, а затем напишите код в событии SelectedIndexChanged: при изменении выбора DetailView также изменится на соответствующий Detail.
Конкретный код:
использование системы;
использование System.Data;
использование System.Configuration;
использование System.Collections;
использование System.Web;
использование System.Web.Security;
использование System.Web.UI;
использование System.Web.UI.WebControls;
использование System.Web.UI.WebControls.WebParts;
использование System.Web.UI.HtmlControls;
использование System.Data.SqlClient;
общедоступный частичный класс MasterDetail2: System.Web.UI.Page
{
protected void Page_Load (отправитель объекта, EventArgs e)
{
если (!Page.IsPostBack)
{
строка SQL = "ВЫБРАТЬ * ИЗ [Заказов]";
GridView1.DataSource = Привязка (SQL);
GridView1.DataKeyNames = новая строка [] { "OrderID" };
GridView1.DataBind();
}
}
protected void GridView1_SelectedIndexChanged (отправитель объекта, EventArgs e)
{
строка OrderID = Convert.ToString(GridView1.SelectedValue);
строка SQL = "SELECT * FROM [OrderDetails] WHERE [OrderID]='" + OrderID + "'";
DetailsView1.DataSource = Привязка (SQL);
ДеталиПросмотр1.Привязка Данных();
}
/**//// <сводка>
/// Выполняем оператор SQL, чтобы вернуть таблицу данных
/// </сводка>
/// <param name="SQL">Выполняемый оператор SQL</param>
/// <returns>DataTable</returns>
защищенная привязка DataTable (строка SQL)
{
SqlConnection myConn = новый SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
DataTable dt = новый DataTable ();
SqlDataAdapter myAdapter = новый SqlDataAdapter (SQL, myConn);
мойАдаптер.Заполнить(дт);
вернуть ДТ
;
}
Способ 2. Задайте свойства элемента управления для размещения GridView и DetailView на странице, каждый из которых соответствует источнику данных. Этого можно достичь, если вы используете SelectedValue GridView в качестве параметра в SelectCommand источника данных DetailView.
<ВыбратьПараметры>
<asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"
Тип="Int32" />
</ВыбратьПараметры>
Оба метода очень просты: метод 2 практически не требует кода, а метод 1 имеет более гибкое управление.