Изображение с гиперссылкой в ​​jQuery datatables не отображается - PullRequest
1 голос
/ 27 июня 2019

У меня на сайте 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>";
}

Изображение не показано в таблице. Если я отмечу таблицу, изображение «контейнер» отображается с правильным размером, и гиперссылка работает, нажав на «контейнер». Если я нажму на свойства «контейнера», все его показанные «недоступные» ожидают размер (который является правильным).

enter image description here

Я пытался визуализировать столбец 10, но это не работает:

{ targets: 10,
  render: function(data){
   return '<img src='images/Calendar.png'>'}
}

Спасибо за помощь.

Ответы [ 2 ]

3 голосов
/ 27 июня 2019

Это из-за опечатки в вашем img теге?

...><img scr='images/Calendar.png'></...

который должен, конечно, читать 'src', как это делается в вашем последнем фрагменте кода. Но не будет ли у этого последнего бита кода проблема из-за кавычек в строке return?

1 голос
/ 27 июня 2019

Вы поместили scr вместо src в атрибут вашего тега img

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...