У меня на сайте aspx есть контейнер div
, который я заполняю datatable
:
int[] Center = { 0, 5, 7 };
string html = "<table id='Liste' class='display' cellspacing='0' style='width:100%'><thead>";
//add header row
html += "<tr>";
for (int i = 0; i <= dt.Columns.Count - 1; i++)
{
if (Center.Contains(i)) html += "<th align='center'>" + dt.Columns[i].ColumnName + "</th>";
else html += "<th>" + dt.Columns[i].ColumnName + "</th>";
}
html += "</tr></thead><tbody>";
//add rows
for (int i = 0; i < dt.Rows.Count; i++)
{
html += "<tr>";
for (int y = 0; y <= dt.Columns.Count - 1; y++)
{
if (y == 8 || y == 9) { html += "<td align='center'>" + Convert.ToDateTime(dt.Rows[i][y].ToString()).ToShortDateString() + "</td>"; }
else
{
if (y == 10)
{
html += "<td align='center'><a href='Details.aspx'><img scr='images/Calendar.png'></a></td>";
}
else
{
if (Center.Contains(y)) html += "<td align='center'>" + dt.Rows[i][y].ToString() + "</td>";
else html += "<td>" + dt.Rows[i][y].ToString() + "</td>";
}
}
}
html += "</tr>";
}
//footer
html += "</tbody><tfoot><tr>";
foreach (DataColumn dc in dt.Columns) html += @"<th>" + dc.ColumnName + "</th>";
html += "</tr></tfoot></table>";
html += @"<script>
$(document).ready(function() {
$('#Liste').DataTable({
fixedHeader: {
header: true,
footer: true
},
paging: false,
columnDefs: [{ type: 'de_date', targets: 8},
{ type: 'de_date', targets: 9}
]
});
});
</script>";
DIV_Table.InnerHtml = html;
В ячейке 10 должно быть изображение с гиперссылкой:
if (y == 10)
{
html += "<td align='center'><a href='Details.aspx'><img scr='images/Calendar.png'></a></td>";
}
Изображение не показано в таблице. Если я отмечу таблицу, изображение «контейнер» отображается с правильным размером, и гиперссылка работает, нажав на «контейнер». Если я нажму на свойства «контейнера», все его показанные «недоступные» ожидают размер (который является правильным).
Я пытался визуализировать столбец 10, но это не работает:
{ targets: 10,
render: function(data){
return '<img src='images/Calendar.png'>'}
}
Спасибо за помощь.