|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的datagrid|创立这篇文章来自DotNetJunkie的发起。他最后写信请求我们供应一个关于怎样创立在DataGrid中利用HyperLinkColumn的例子,能够在用户点击这一列后翻开一个新窗口,显现出此列的具体内容。在此之前我们已经经由过程email回覆他们,他倡议我们将这个办法到场他们的指南中,因而,就有了这篇文章。像我们本来的文章一样,它很复杂,可是复杂的包括代码的办法例能够更无效地启示开辟者。
这个例子包括两个WebForms和一个CSS文件(一切的代码都能够下载)--第一个WebForm包括一个展现从Northwind库中读出的产物列表的DataGrid,hyperlink的states设为“SeeDetails”,一旦这个链接被点击,JavaScript片断Window.Open办法就会被挪用.用户想取得的关于产物的ProductID做为参数包括在URL中.包括另外一个DataGrid的第二个Webforms向用户列示他选中产物的一切详细细节。让我们来看一下datagrid-open.aspx和datagrid-open.aspx.cs
datagrid-open.aspx
<%@Pagelanguage="c#"Codebehind="datagrid-open.aspx.cs"AutoEventWireup="false"Inherits="study.datagrid_open"%>
<HTML>
<HEAD>
<title>datagrid-open</title>
<metaname="GENERATOR"Content="MicrosoftVisualStudio7.0">
<metaname="CODE_LANGUAGE"Content="C#">
<metaname="vs_defaultClientScript"content="JavaScript">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<center>
<formrunat="server"ID="Form1">
<asp:datagridid="DataGrid1"runat="server"Font-Size="12"AutoGenerateColumns="False">
<Columns>
<asp:BoundColumnDataField="ProductID"HeaderText="ProductID"HeaderStyle-CssClass="HEADERSTYLE"ItemStyle-CssClass="ITEMSTYLEDEFAULT"/>
<asp:BoundColumnDataField="ProductName"HeaderText="ProductName"HeaderStyle-CssClass="HEADERSTYLE"ItemStyle-CssClass="ITEMSTYLEDEFAULT"/>
<asp:hyperlinkcolumnDataTextFormatString="ShowDetails..."DataTextField="ProductID"DataNavigateUrlField="ProductID"DataNavigateUrlFormatString="javascript:varwin=window.open("datagrid-show.aspx?ProductID={0}",null,"width=700,height=200");"HeaderText="SeeDetails"HeaderStyle-CssClass="HEADERSTYLE"ItemStyle-CssClass="ITEMSTYLEHYPERLINK"/>
</Columns>
</asp:datagrid>
</form>
</center>
</body>
</HTML>
datagrid-open.aspx.cs
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
namespacestudy
{
///<summary>
///datagrid_open的择要申明。
///</summary>
publicclassdatagrid_open:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.DataGridDataGrid1;
protectedSystem.Web.UI.HtmlControls.HtmlFormForm1;
#regionUserDefinedCode
privatevoidPage_Load(objectsender,System.EventArgse)
{
if(!this.IsPostBack)
this.BindData();
}
protectedvoidBindData()
{
SqlCommandcmd=newSqlCommand("SELECTTOP10ProductID,ProductNameFROMProducts",con("Server=dwserver;DataBase=Northwind;UserId=sa;Password=123456"));
this.DataGrid1.DataSource=cmd.ExecuteReader(CommandBehavior.CloseConnection);
this.DataGrid1.DataBind();
}
protectedSqlConnectioncon(System.StringConnectionString)
{
SqlConnectionc=newSqlConnection(ConnectionString);
c.Open();
returnc;
}
#endregion
#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该挪用是ASP.NETWeb窗体计划器所必须的。
//
InitializeComponent();
base.OnInit(e);
}
///<summary>
///计划器撑持所需的办法-不要利用代码编纂器修正
///此办法的内容。
///</summary>
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
}
}
除DataNavigateUrlFormatString外的确没甚么坚苦的,你能够注重到我实践上间接利用了一个javascript片断(注:你也能够复杂地创立一个.js文件或在WebForm中利用<script></script>),javascript云云提高,以是这里不再具体解说。功效上,它翻开一个新的窗口,带ProductID查询字串的datagrid_show.aspx,ProductID的值来自我们的数据源。我们能够看这两个文件:
datagrid_show.aspx
<%@Pagelanguage="c#"Codebehind="datagrid-show.aspx.cs"AutoEventWireup="false"Inherits="study.datagrid_show"%>
<HTML</p>专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。 |
|