实现效果:在主表里选中某行,从表里得出该行的详情。
方法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控制更灵活。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器