Отключение ListView в C#, но все еще показ текущего выбора

Другой подход в зависимости от того, как вы меняете div. Если вы используете JQuery для изменения содержимого div с помощью метода html (), вы можете расширить этот метод и вызвать функцию регистрации каждый раз, когда вы помещаете html в div.

(function( $, oldHtmlMethod ){
    // Override the core html method in the jQuery object.
    $.fn.html = function(){
        // Execute the original HTML method using the
        // augmented arguments collection.

        var results = oldHtmlMethod.apply( this, arguments );
        com.invisibility.elements.findAndRegisterElements(this);
        return results;

    };
})( jQuery, jQuery.fn.html );

Мы просто перехватываем вызывает html (), вызывает функцию регистрации с этим, которая в контексте относится к целевому элементу, получающему новый контент, затем мы передаем вызов исходной функции jquery.html (). Не забудьте вернуть результаты исходного метода html (), потому что JQuery ожидает его для цепочки методов.

Для получения дополнительной информации об переопределении и расширении метода проверьте http: //www.bennadel. com / blog / 2009-Using-Self-Executing-Function-Arguments-To-Override-Core-jQuery-Methods.htm , где я скрещивал функцию закрытия. Также ознакомьтесь с учебником плагинов на сайте JQuery.

7
задан Peter Mortensen 26 October 2011 в 21:08
поделиться

3 ответа

Вы могли также сделать ListView ownerdraw. Вы затем имеете полный контроль над тем, как объекты смотрят, выбраны ли они или не или включают ли самому ListView или нет. DrawListViewItemEventArgs позволяет просить, чтобы ListView потянул отдельные части объекта, таким образом, только необходимо потянуть биты, Вы интересуетесь. Например, можно потянуть фон объекта, но оставить его до ListView для рисования текста.

2
ответ дан 7 December 2019 в 16:47
поделиться

Существует две опции, изменяются, выбранные строки отключили цвета. Или измените все другие строки для моделирования, они отключены за исключением выбранного. Первая опция является, очевидно, самой легкой, и вторая опция, очевидно, испытывает необходимость в некоторой дополнительной защите.

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

1
ответ дан 7 December 2019 в 16:47
поделиться

Внедрите SelectedIndexChanged и сделайте это

    private void listViewABC_SelectedIndexChanged(object sender, EventArgs e)
    {
        listViewABC.SelectedItems.Clear();
    }
0
ответ дан 7 December 2019 в 16:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: