ASPxClientHyperLink.SetText(text) Method
Specifies the text caption displayed for the hyperlink in the hyperlink editor.
Declaration
SetText(
text: string
): void
Parameters
Name |
Type |
Description |
text |
string |
A string value specifying the text caption for the hyperlink in the editor.
|
Note
The SetText method does not HTML encode the specified text.
Example
This example illustrates how to update a hyperlink depending on inserted ASPxGridView row values.
For this purpose we create DataTable at Runtime and bind it to ASPxGridView. Furthermore, we put the ASPxHyperLink control above ASPxGridView.
An end-user is able to add a new row to ASPxGridView. Values from ASPxGridView's inserted row are used as ASPxHyperLink URL’s query parameters values. The hyperlink leads to a new page where an end-user can see values of the inserted row.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to update a hyperlink depending on inserted ASPxGridView row values</title>
<script type="text/javascript">
function SetLink(s, e) {
hl.SetNavigateUrl("Item.aspx?ID=" + s.cpID + "&Item=" + s.cpText);
hl.SetText(s.cpText);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<dx:ASPxHyperLink ID="hl" ClientInstanceName="hl" runat="server"></dx:ASPxHyperLink>
<dx:ASPxGridView ID="gv" ClientInstanceName="gv" runat="server" AutoGenerateColumns="False"
KeyFieldName="ID" OnRowInserting="gv_RowInserting">
<ClientSideEvents EndCallback="SetLink" />
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0" ShowNewButton="True"/>
<dx:GridViewDataTextColumn FieldName="ID" ReadOnly="True"
VisibleIndex="1">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Item" VisibleIndex="2">
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Item.aspx.cs" Inherits="Item" %>
<%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to update a hyperlink depending on inserted ASPxGridView row values</title>
</head>
<body>
<form id="form1" runat="server">
<%= String.Format("New row ID value is \"{0}\". New row Item value is \"{1}\"",
System.Web.HttpContext.Current.Request.QueryString["ID"],
System.Web.HttpContext.Current.Request.QueryString["Item"]) %>
</form>
</body>
</html>
using System;
using System.Data;
using DevExpress.Web;
using DevExpress.Web.Data;
public partial class _Default : System.Web.UI.Page {
private DataTable table;
protected void Page_Init(object sender, EventArgs e) {
InitializeDataTable();
gv.DataSource = GetDataTable();
gv.DataBind();
}
private DataTable GetDataTable() {
if(Session["DataTable"] == null) {
InitializeDataTable();
Session["DataTable"] = table;
}
table = (DataTable)Session["DataTable"];
return table;
}
private void InitializeDataTable() {
table = new DataTable("Table");
DataColumn column;
column = new DataColumn();
column.DataType = typeof(Int32);
column.ColumnName = "ID";
table.Columns.Add(column);
table.PrimaryKey = new DataColumn[] { column };
column = new DataColumn();
column.DataType = typeof(String);
column.ColumnName = "Item";
table.Columns.Add(column);
PopulateDataTable();
}
private void PopulateDataTable() {
DataRow row;
for(int i = 0; i < 2; i++) {
row = table.NewRow();
row["ID"] = i;
row["Item"] = "Item " + i;
table.Rows.Add(row);
}
}
protected void gv_RowInserting(object sender, ASPxDataInsertingEventArgs e) {
ASPxGridView gv = (ASPxGridView)sender;
DataRow row = table.NewRow();
row["ID"] = GetNewId();
row["Item"] = e.NewValues[0];
table.Rows.Add(row);
Session["DataTable"] = table;
gv.JSProperties["cpID"] = row["ID"];
gv.JSProperties["cpText"] = row["Item"];
gv.CancelEdit();
e.Cancel = true;
}
private int GetNewId() {
int id = 0;
foreach(DataRow row in table.Rows) {
int rowId = (int)row["ID"];
if(rowId > id)
id = rowId;
}
return ++id;
}
}
<%@ Page Language="vb" AutoEventWireup="true" CodeFile="Item.aspx.vb" Inherits="Item" %>
<%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to update a hyperlink depending on inserted ASPxGridView row values</title>
</head>
<body>
<form id="form1" runat="server">
<%=String.Format("New row ID value is ""{0}"". New row Item value is ""{1}""", _
Request.QueryString("ID"), _
Request.QueryString("Item"))%>
</form>
</body>
</html>
<%@ Page Language="vb" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to update a hyperlink depending on inserted ASPxGridView row values</title>
<script type="text/javascript">
function SetLink(s, e) {
hl.SetNavigateUrl("Item.aspx?ID=" + s.cpID + "&Item=" + s.cpText);
hl.SetText(s.cpText);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<dx:ASPxHyperLink ID="hl" ClientInstanceName="hl" runat="server"></dx:ASPxHyperLink>
<dx:ASPxGridView ID="gv" ClientInstanceName="gv" runat="server" AutoGenerateColumns="False"
KeyFieldName="ID" OnRowInserting="gv_RowInserting">
<ClientSideEvents EndCallback="SetLink" />
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0" ShowNewButton="True"/>
<dx:GridViewDataTextColumn FieldName="ID" ReadOnly="True"
VisibleIndex="1">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Item" VisibleIndex="2">
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
</form>
</body>
</html>
Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports DevExpress.Web
Imports DevExpress.Web.Data
Partial Public Class _Default
Inherits System.Web.UI.Page
Private table As DataTable
Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
InitializeDataTable()
gv.DataSource = GetDataTable()
gv.DataBind()
End Sub
Private Function GetDataTable() As DataTable
If Session("DataTable") Is Nothing Then
InitializeDataTable()
Session("DataTable") = table
End If
table = CType(Session("DataTable"), DataTable)
Return table
End Function
Private Sub InitializeDataTable()
table = New DataTable("Table")
Dim column As DataColumn
column = New DataColumn()
column.DataType = GetType(Int32)
column.ColumnName = "ID"
table.Columns.Add(column)
table.PrimaryKey = New DataColumn() { column }
column = New DataColumn()
column.DataType = GetType(String)
column.ColumnName = "Item"
table.Columns.Add(column)
PopulateDataTable()
End Sub
Private Sub PopulateDataTable()
Dim row As DataRow
For i As Integer = 0 To 1
row = table.NewRow()
row("ID") = i
row("Item") = "Item " & i
table.Rows.Add(row)
Next i
End Sub
Protected Sub gv_RowInserting(ByVal sender As Object, ByVal e As ASPxDataInsertingEventArgs)
Dim gv As ASPxGridView = CType(sender, ASPxGridView)
Dim row As DataRow = table.NewRow()
row("ID") = GetNewId()
row("Item") = e.NewValues(0)
table.Rows.Add(row)
Session("DataTable") = table
gv.JSProperties("cpID") = row("ID")
gv.JSProperties("cpText") = row("Item")
gv.CancelEdit()
e.Cancel = True
End Sub
Private Function GetNewId() As Integer
Dim id As Integer = 0
For Each row As DataRow In table.Rows
Dim rowId As Integer = CInt(Fix(row("ID")))
If rowId > id Then
id = rowId
End If
Next row
Return id + 1
End Function
End Class
See Also