asp.net2.0实现主从数据表的简单方法

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

实现效果:在主表里选中某行,从表里得出该行的详情。

方法1:代码实现。

在页面上放一个GridView,一个DetailView。数据绑定GridView并且要设置主键,然后在SelectedIndexChanged事件写代码:选择发生变化时,DetailView也改变为相应的Detail。

具体代码:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class MasterDetail2 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

string SQL = "SELECT * FROM [Orders]";

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();

}

/**//// <summary>

/// 执行SQL语句返回一个数据表

/// </summary>

/// <param name="SQL">所要执行的SQL语句</param>

/// <returns>DataTable</returns>

protected DataTable Binding(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;

}

}

方法2:设置控件属性实现

在页面上放一个GridView,一个DetailView,然后每个对应一个数据源。只要在DetailView的数据源的SelectCommand里使用GridView的SelectedValue作为参数,即可实现。

<SelectParameters>

<asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"

Type="Int32" />

</SelectParameters>

两种方法都很简单,方法2基本无代码实现,方法1控制更灵活。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航