PDA

View Full Version : آموزش: نحوه ایجاد HyperLinkField در GridView



ایمان مدائنی
چهارشنبه 08 خرداد 1392, 11:58 صبح
در این مقاله روش ایجاد یک HyperLinkField در GridView آموزش داده خواهد شد.
HTML Markup
در پایین کدهای مربوط به صفحه Default.aspx یا همان صفحه Markup آمده است که یک GridView همراه با دو ستون که یکی از نوع HyperLinkField و دیگری BoundField :


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>HyperLinkField in ASP.Net GridView</title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="grdList" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000"
runat="server" AutoGenerateColumns="False">
<AlternatingRowStyle BackColor="White" ForeColor="#000000"></AlternatingRowStyle>
<Columns>
<asp:HyperLinkField DataTextField="Name" DataNavigateUrlFields="Name" DataNavigateUrlFormatString="~/Details.aspx?Name={0}"
HeaderText="Name" ItemStyle-Width="150">
<ItemStyle Width="150px" HorizontalAlign="Center"></ItemStyle>
</asp:HyperLinkField>
<asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150">
<ItemStyle Width="150px" HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
</Columns>
<HeaderStyle BackColor="#3AC0F2" ForeColor="White"></HeaderStyle>
<RowStyle BackColor="#A1DCF2"></RowStyle>
</asp:GridView>
</form>
</body>
</html>

ستون HyperLinkField
ستون HyperLinkField شامل سه Properties می باشد که کار Bind کردن اصلاعات را انجام میدهند.
DataTextField : نام و مشخصه فیلد مربوطه.
DataNavigateUrlFields : مقداری که از فیلد یا یکی از ستونها برگردانده می شود و لازم است آن را به صورت QueryString در URL پاس دهیم.
DataNavigateUrlFormatString : جهت وارد کردن Format آدرس صفحه ای که HyperLinefField ارسال میکند. {0} به مقداری که از DataNavigateFields برگردانده می شود اشاره دارد.
پرکردن اصلاعات GridView
در این قسمت کد مربوط به پر کردن اطلاعات داخل جدول را آورده ایم:


//Namespaces
using System.Data;



protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id"), new DataColumn("Name"), new DataColumn("Country") });
dt.Rows.Add(1, "Sajad", "United States");
dt.Rows.Add(2, "Iman", "India");
dt.Rows.Add(3, "Keyvan", "France");
dt.Rows.Add(4, "Kaveh", "Russia");
grdList.DataSource = dt;
grdList.DataBind();
}
}


امیدوارم خوشتون اومده باشه

نمونه هم ضمیمه کردم

منبع مقاله : Madaeny.com (http://www.madaeny.com/)