We read from XML and create columns in asp gridview. Also same XML is used to create columns in a data table.
We populate that data table with desired data and bind data table to gridview using server side code.
I want to display hyperlink in gridview and not sure how to manage it. Since we are not using RowDataBound method.
Code
foreach (XmlNode columnNode in columnNodes)
{
dc = new DataColumn(columnNode.Attributes["ColumnName"].Value,Type.GetType("System.String"));
dt.Columns.Add(dc);
boundField = new BoundField();
boundField.HeaderText = columnNode.Attributes["ColumnDisplayName"].Value;
boundField.DataField = columnNode.Attributes["ColumnName"].Value;
boundField.SortExpression = columnNode.Attributes["ColumnName"].Value;
grdView.Columns.Add(boundField);
}
where dc is datacolumn, dt is data table and grdView is grid view.
Sumit Kesarwani
01-Sep-2014linkField = new HyperLinkField();
linkField.HeaderText = columnNode.Attributes["ColumnDisplayName"].Value;
// The field you want to use as the displayed text of the hyperlink
linkField.DataTextField = columnNode.Attributes["ColumnName"].Value;
// The field(s) you want to use in the URL behind the hyperlink
linkField.DataNavigateUrlFields = new string[] { columnNode.Attributes["ColumnName"].Value };
// The formatting string for your hyperlink. Use this to build the links the way you want them.
linkField.DataNavigateUrlFormatString = "http://yourSiteName/links/{0}";
linkField.SortExpression = columnNode.Attributes["ColumnName"].Value;
grdView.Columns.Add(linkField);