在Gridview中添加超链接列
进入Gridview的【编辑列…】窗口进行编辑,如图:
在【可用字段】里选择HyperLinkField,单击【添加】按钮。
然后选择在【选定的字段】中,选择刚添加的这个HyperLinkField。
然后选择在【选定的字段】中,选择刚添加的这个HyperLinkField。
在右边按照图示进行设置:
外观-Text:设置链接的文字。
外观-HeaderText:设置链接列的标题。
数据-DataNavigateUrlFields:设置超链接要传递的参数,这里写的“id,name”表示要传递id和name这两个字段的值,注意用逗号分隔,可以设置多个字段。
数据-DataNavigateUrlFormatString:设置要链接到的页面和传递的参数。Default2.aspx?id={0}&name={1}表示要链接到Default2.aspx页面。这里的{0}表示在形成链接时{0}将会被DataNavigateUrlFields中设置的第一个参数实际的值替代,在我们这里是id,{1}将会被name的实际值替代。
外观-Text:设置链接的文字。
外观-HeaderText:设置链接列的标题。
数据-DataNavigateUrlFields:设置超链接要传递的参数,这里写的“id,name”表示要传递id和name这两个字段的值,注意用逗号分隔,可以设置多个字段。
数据-DataNavigateUrlFormatString:设置要链接到的页面和传递的参数。Default2.aspx?id={0}&name={1}表示要链接到Default2.aspx页面。这里的{0}表示在形成链接时{0}将会被DataNavigateUrlFields中设置的第一个参数实际的值替代,在我们这里是id,{1}将会被name的实际值替代。
最终形成的页面代码如下:
<asp:GridView ID="cityList" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="id" HeaderText="编码" />
<asp:BoundField DataField="name" HeaderText="名称" />
<asp:HyperLinkField DataNavigateUrlFields="id,name" DataNavigateUrlFormatString="Default2.aspx?id={0}&name={1}" HeaderText="操作" Text="修改" />
</Columns>
</asp:GridView>
后置代码如下:
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 _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=demo;User ID=sa;Password=sa1");
DataSet citySet = null;
try
{
SqlDataAdapter adapter = new SqlDataAdapter("select * from city", conn);
citySet = new DataSet();
adapter.Fill(citySet, "city");
}
catch (SqlException ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
cityList.DataSource = citySet;
DataBind();
}
}
这时,浏览页面看效果,如图:
如果把鼠标移动到超链接上,观察形成的链接,效果如图:
给Gridview添加复选框
点击Gridview右上角的三角按钮,选择【编辑列…】,添加一个TemplateField:
然后单击向上的按钮,将这个TemplateField移动到最上面:
这样,我们就为Gridview添加了一个TemplateField,并且将这个TemplateField排到第一列。
下面对这个TemplateField添加标题和内容。在【Gridview 任务】中,选择【编辑模板】:
进入模板编辑模式,选择Column[0]下的HeaderTemplate:
拖一个Checkbox标签到HeaderTemplate里:
这样就设置了列标题中的复选框。
选择Column[0]下的ItemTemplate,然后拖一个CheckBox控件到ItemTemplate里,设置这个控件的id=”element”:
形成的代码:
<ItemTemplate>
asp查看源码配置ui <asp:CheckBox ID="element" runat="server" />
</ItemTemplate>
打开源代码视图,修改<HeaderTemplate>里的复选框的id=”all”,添加单击事件onclick="selectAll(this)"。
<HeaderTemplate>里复选框的代码是这样的:
<HeaderTemplate>里复选框的代码是这样的:
<HeaderTemplate>
<input id="all" type="checkbox" onclick="selectAll(this)"/>全选
</HeaderTemplate>
完整的Gridview代码:
<asp:GridView ID="cityList" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input id="all" type="checkbox" onclick="selectAll(this)"/>全选
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="element" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" HeaderText="编码" />
<asp:BoundField DataField="name" HeaderText="名称" />
<asp:HyperLinkField DataNavigateUrlFields="id,name" DataNavigateUrlFormatString="Default2.aspx?id={0}&name={1}"
HeaderText="操作" Text="修改" />
</Columns>
</asp:GridView>
添加selectAll脚本函数:
<script type="text/javascript">
function selectAll(cb)
{
var g1 = document.getElementById("cityList");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论