Nano Hash - криптовалюты, майнинг, программирование

Исправить заголовок сетки с помощью JQuery и сохранить функциональность

Я не эксперт в JQuery, но у меня есть этот код, который устанавливает фиксированный заголовок, и он работает по назначению:

$(document).ready(function () {
        fixedHeader()
    });


    function fixedHeader() {
        // Code to copy the gridview header with style
        var gridHeader = $('#<%=GridView1.ClientID%>').clone(false);       
        //Code to remove all rows except the header row
        $(gridHeader).find("tr:gt(0)").remove();
        $('#<%=GridView1.ClientID%> tr th').each(function (i) {
            // Here Set Width of each th from gridview to new table th 
            $("th:nth-child(" + (i + 1) + ")", gridHeader).css('width', ($(this).width()).toString() + "px");
        });
        // Append Header to the div controlHead
        $("#controlHead").append(gridHeader);
        // Set its position to be fixed
        $('#controlHead').css('position', 'fixed');
        // Put it on top
        $('#controlHead').css('top', $('#<%=GridView1.ClientID%>').offset().top);

    }

Проблема в том, что я теряю функциональность, так как эта кнопка больше не вызывает JS.

<asp:Button ID="BtnDelete" runat="server" Text="Delete"  onclick="btnDelete_Click"  class="buttons"  Visible="true"  disabled="disabled"  OnClientClick="if (!deleteRow()) return false;"  />

и у меня была эта функция, которая выделяла выбранную строку при выборе переключателя

 // Method that will highlight row
    function gridviewManipulation() {
        // Get Gridview 
        var gridView = document.getElementById("<%= GridView1.ClientID %>");
        // Loop through the Gridview
        for (var i = 1; i < gridView.rows.length; i++) {
            // Get the radio button of each row in the gridview and see if its checked
            if (gridView.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == true)
            {
                // Place the color for selection
                gridView.rows[i].style.background = '#9bc27e';

            }
            else if (gridView.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == false && i % 2 == 0)
            {
                // If its even then place white color back
                gridView.rows[i].style.background = '#FFFFFF';
            }
            else 
            {
                // If its odd place the bluish back on
                gridView.rows[i].style.background = '#E3EAEB'; 
            }
        }
    }

Есть ли другой способ исправить заголовок с помощью JQuery? Я думаю, что клон и добавление нового клонированного заголовка лишают меня функциональности, любая помощь будет очень признательна!



Ответы:


1

Я обнаружил, что при клонировании gridview вы должны назначить ему новый идентификатор, чтобы он не лишал функциональности, поэтому из этого:

var gridHeader = $('#<%=GridView1.ClientID%>').clone(true);

к этому

 var gridHeader = $('#<%=GridView1.ClientID%>').clone(true).attr('id','clonedGrid'); 

Это решит большую часть функциональности. Теперь рекомендуется избавиться от:

OnClientClick="if (!deleteRow()) return false;"

на кнопке ASP и создайте прослушиватель JQuery, подобный этому

$(документ).готовый(функция () {

       $('#<%=BtnDelete.ClientID%>').click(function () {
            if (!deleteRow()) return false;
        });           
    });
16.07.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..