@{
var index = 0;
foreach (DataColumn column in Model.Columns)
{
if (column.ColumnName.Contains("Id") || column.ColumnName.Contains("ID") || column.ColumnName.Contains("id"))
{
continue;
}
if (index == 0)
{@Html.Encode(column.ColumnName)}
else
{
var column1 = column;
var item = Model.Links.FirstOrDefault(x => x.Text == column1.ColumnName);
if (item != null && item.Value.EndsWith("&chart"))
{@Html.Encode(column.ColumnName)}
else
{@Html.Encode(column.ColumnName)}
}
index++;
}
}
@{const string regexReplace = @"@\w+";
const string regexTarget = @"(?<=target=).+";foreach (DataRow row in Model)
{
@foreach (DataColumn column in Model.Columns){
if (column.ColumnName.Contains("Id") || column.ColumnName.Contains("ID") || column.ColumnName.Contains("id"))
{
continue;
}
var column1 = column;
var item = Model.Links.FirstOrDefault(x => x.Text == column1.ColumnName);
if (item != null && !string.IsNullOrEmpty(item.Value))
{
if (item.Value.Equals("&chart"))
{
@Html.Encode(row[column.ColumnName])}else
{
var link = item.Value;
if (link.Equals("&chart"))
{
@Html.Encode(row[column.ColumnName])continue;}
if (Regex.IsMatch(link, regexReplace))
{
var replace = Regex.Match(link, regexReplace).Value;
link = Regex.Replace(link, replace, row[replace.Substring(1)].ToString());
}
link = link.Replace("@queryKey", ViewData["StatId"].ToString());
var target = Regex.Match(link, regexTarget).Value;
@Html.Encode(row[column.ColumnName])}}
else
{
@Html.Encode(row[column.ColumnName])}}
}}