Clear the selection of items in the ListView

I have a ListView with different elements.

For the most part I have multiple selection items as the default, but for some items I would like to completely disable the selection.

I tried to disable the cell while it displays a unselectable element, but this only disables the selection of direct events on the cell. I can still select it by clicking on an element above one, and then shift-click on an item below.
I also tried to set the empty cell at the display of an element not selectable. This is the problem with the above shift selection, but I can always choose the cell by selecting an element next to him and pressing the respective arrow key.

Does anyone have an idea?

Thank you
L2P

I have not tried to do, but the first thing I want to try (or at least consider) would be to write a custom selection model.

Tags: Java

Similar Questions

  • [Explanation necessary] Clears the listview data and fill it again with new data

    Hello

    I correctly filled a listview in c ++, data analysed and does interesting things with it. However, I am drunk stumbling, unable to find a way delete and repopulate my display of the list...

    Question 1:

     

    1. How can after I insert data in the list view, I clear the list data and run again the same method (init) who populated the list view with the data in the first place?

    Here are the docs that I referenced and I don't understand how to implement the methods in my code.

    QList - clear() method

    https://developer.BlackBerry.com/Cascades/reference/QList.html#clear

    Using the data access Code, example
                              
    data_access/using_data_source

    GroupDataModel - Clear()

    https://developer.BlackBerry.com/Cascades/reference/bb__cascades__groupdatamodel.html#clear

    CODE

    Here is my code - filling of the display of the list of C++ and display of data in a ListView.

    MyApp.cpp

    MyApp::MyApp(bb::cascades::Application *app)
    : QObject(app){
        // create scene document from main.qml asset
            // set parent to created document to ensure it exists for the whole application lifetime
            QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
    
                AbstractPane *root = qml->createRootObject();
                qml->setContextProperty("yoyo",this);
                //grab references
                list_view = root->findChild("listView");
    
                // set created root object as a scene
                app->setScene(root);
    
                mNetworkAccessManager = new QNetworkAccessManager(this);
                bool result = connect(mNetworkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(requestFinished(QNetworkReply*)));
    
                 Q_ASSERT(result);
                 Q_UNUSED(result);                 json = new QFile("data/file.json");
    }
    
    void MyApp::init(){
        QNetworkRequest request = QNetworkRequest();
         // i call some service here
         mNetworkAccessManager->get(request);
    }
    
    void MyApp::requestFinished(QNetworkReply *reply){
        qDebug() << reply->error();
        qDebug() << reply->errorString();
        if (reply->error() == QNetworkReply::NoError) {
            qDebug() << "No error";
    
                    QByteArray data = reply->readAll();
    
                    if (!json->open(QIODevice::ReadWrite)) {
                        qDebug() << "Failed to open file";
                        return;
                    }
                    json->write(data);
    
            bb::data::JsonDataAccess jda;
            QVariantMap results = jda.loadFromBuffer(data).toMap();
                    QVariantList lst = jda.loadFromBuffer(data).toList();
                GroupDataModel *m = new GroupDataModel();
                       m->insertList(lst);
                       m->setGrouping(ItemGrouping::None);
                       if(list_view) list_view->setDataModel(m);
    
        }else{
            showDialog("Boo",reply->errorString());
        }
    }
    

    MyApp.hpp

    // Tabbed pane project template
    #ifndef MyApp_HPP_
    #define MyApp_HPP_
    
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    
    namespace bb {
    namespace cascades {
    class Application;
    }
    }
    namespace bb {
    namespace data {
    class Application;
    }
    }
    
    /*!
     * @brief Application pane object
     *
     *Use this object to create and init app UI, to create context objects, to register the new meta types etc.
     */
    class MyApp: public QObject {
    Q_OBJECT
    public:
        MyApp(bb::cascades::Application *app);
        virtual ~MyApp() {
        }
        Q_INVOKABLE
        void init();
    private slots:
        void requestFinished(QNetworkReply *reply);
    private:
        QNetworkAccessManager *mNetworkAccessManager;
        QNetworkRequest *request;
        QFile *json;
        bb::cascades::ListView *list_view;
    };
    
    #endif /* MyApp_HPP_ */
    

    hand. QML

    import bb.cascades 1.0
    
    Page{
    Container {
                            background: Color.White
                            ListView {
                                id: listView
                                preferredHeight: maxHeight
                                objectName: "listView"
                                listItemComponents: [
                                    ListItemComponent {
                                        type: "item"
                                        Container {
                                            Container {
                                                Label {
                                                    text: ListItemData.id
                                                }
                                            }
    
                                        }
                                    }
                                ]
                                onTriggered: {
                                    console.log("selected_index: " + indexPath)
                                }
                                horizontalAlignment: HorizontalAlignment.Center
                                verticalAlignment: VerticalAlignment.Center
                            }
    
    }
    }
    

    Question 2:

    How reference to the ListView object with the name "listView" in different parts of the MyApp.cpp file? Is there anything else I should add to the header file to make the accessible listView?

    Question 3:

    What happens when you call the clear() method? How the data model is affected? How the user interface is affected? What happens in memory?

    Question 4:

    How do you verify that the data in the list has been deleted so that you can go ahead and fills again with new data? What is the cheque that I perform?

    I would also like to know how you manage multiple views of lists and data sources in your applications. Best practices or ideas?

    Thank you

    I was able to clear the listview with the following code, if anyone is interested.

    listView.dataModel = null
    

    The dataModel must be set to "null".

  • Highlight the item selected in the ListView

    Hello guys,.
    I have a list view and you want to highlight the element select when I click on it, for all clicked items.

    Thank you.

    esam_tec wrote:

    Hello guys,.
    I have a list view and you want to highlight the element select when I click on it, for all clicked items.

    Thank you.

    There are different ways to do

    eg.:

    in your container of ListItem:

    background: ListItem.selected || ListItem.active ? Color.Magenta : Color.Transparent
    

    in your onTriggered of the ListView:

    // select line
                    myListView.select(indexPath, true)
    

    Remember, if your work has been done:

    // clear the selection
                myListView.clearSelection()
    
  • Change the background color for a selected item in a ListView?

    Hello

    No idea how to change the color of tbackground of a ListView selected item to blue for a different color?

    I tried wrapping the ListView in a container, then by changing the background color of the container, but it does not work. And ListView, nor the ListItemComponent takes a background attribute.

    Thank you

    Oh, I did that last night.
    Thus, in the container for StandardItem, add this line:

     background: ListItem.selected || ListItem.active ? Color.create("#4D9EC9") : Color.Transparent
    

    and onTriggerred of the signal, add two lines:

    // for highlighting
    listView.select(indexPath, true);
    
    // for clearing highlight
    listView.clearSelection();
    

    PS: listView is the id of the ListView

    ListView {
        id: listView
    ....
    
  • Mark the selected item in a listview

    Hello experts,

    So, I need to show a selected list item by placing a checkmark next to him (into the cell). What a cell can be selected. So does anyone have a solution that can be shared? Or some advise how this can be done properly. I would be very grateful.

    Hello everyone.

    I did the following. In onTriggered in a listview control, I've added these 2 lines:

    clearSelection();
    select(indexPath, true);
    

    That's all.

  • How to refresh the Listview after adding a new item

    Hello

    I have the following list:

     ListView {
                                        id: channelsList
    
                                        dataModel: categoryModel
    
                                        listItemComponents: [
                                            ListItemComponent {
                                                type: "item"
                                                StandardListItem {
                                                    title: ListItemData.name // Channel name
                                                    imageSource: ListItemData.imageFile
                                                    status: ListItemData.id
    
                                                    id: channelItemId
    
                                                    contextActions: [
                                                        ActionSet {
                                                            //title: contentView.title
                                                            ActionItem {
                                                                title: "Add to Favorites"
    
                                                                onTriggered: {
                                                                    console.log(ListItemData.id + " will be added to the Favorites");
                                                                    //categoryModel.addFavorite(ListItemData.name, ListItemData.imageFile, ListItemData.id);
                                                                    channelItemId.ListItem.view.viewTriggered(ListItemData.name, ListItemData.imageFile, ListItemData.id);
                                                                }
    
                                                            }
    
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
    
                                        onTriggered: {
                                                var chosenChannel = dataModel.data(indexPath);
                                                console.log("indexPath: " + indexPath);
    
                                                var playingPage = playpagedef.createObject();
    
                                                playingPage.chname = chosenChannel.name;
                                                playingPage.cid = chosenChannel.id;
                                                playingPage.init();
    
                                                Qt.nav.push(playingPage);
    
                                        }
    
                                        attachedObjects: [
                                            // The bucket categoryModel is a non visible object so it is set up as an attached object.
                                            // The categoryModel itself is a QListDataModel defined in categorymodel.h and registered
                                            // as a type in the creation of the application.
                                            CategoryModel {
                                                id: categoryModel
                                                // The path to the JSON file with initial data, this file will be moved to
                                                // the data folder on the first launch of the application (in order to
                                                // be able to get write access).
                                                jsonAssetPath: "models/channels.json"
    
                                                // The filtering is initially set to "Category 1" to show category channels
                                                filter: label.text
                                            },
    
                                            ComponentDefinition {
                                                id: playpagedef
                                                source: "PlayingPage.qml"
                                            }
                                        ]
    
                                        function viewTriggered(name, imageFile, id)
                                        {
                                            categoryModel.addFavorite(name, imageFile, id);
                                            categoryModel.clear();
                                        }
    
                                    }
    

    and the categoeymodel.h is as follows:

    #ifndef _CATEGORYMODEL_H
    #define _CATEGORYMODEL_H
    
    #include 
    #include 
    #include 
    #include 
    
    using namespace bb::data;
    
    // The category categoryModel is based on the QListDataModel template, which in turn
    // implements the abstract DataModel class.
    typedef bb::cascades::QListDataModel CategoryListModel;
    
    /* CategoryModel Description:
     *
     * CategoryModel class for the Category List application, the data categoryModel
     * reads and write from a JSON file that keeps all item data
     * for the list.
     */
    class CategoryModel: public CategoryListModel
    {
    Q_OBJECT
    
    Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged)
    
    Q_PROPERTY(QString jsonAssetPath READ jsonAssetPath WRITE setJsonAssetPath NOTIFY jsonAssetPathChanged)
    
    public:
        /**
         * Constructor that sets up the recipe
         * @param parent The parent Container, if not specified, 0 is used
         */
        CategoryModel(QObject *parent = 0);
        ~CategoryModel();
    
        QString filter();
    
        void setFilter(const QString filter);
    
        QString jsonAssetPath();
    
        void setJsonAssetPath(const QString jsonAssetPath);
    
    signals:
    
        void filterChanged(QString filter);
    
        void jsonAssetPathChanged(QString jsonAssetPath);
    
    public slots:
        void addFavorite(QString channelName, QString channelImageFile, int channelId);
    
    private:
        bool jsonToDataFolder();
    
        // Property variables
        QString mFilter;
        QString mJsonAssetsPath;
        QString mJsonDataPath;
    
        // A list containing all data read from the JSON file
        QVariantList mData;
    
        //Invocation variables
        bb::cascades::Invocation* mInvocation;
    };
    
    #endif // ifndef _CATEGORYMODEL_H
    

    My problem is that the listview is not get automatically updated when a new item is added to the datamodel (a favorite channel is added). I have to exit the application and restart to see the updated list.

    categoryModel.addFavorite(name, imageFile, id);
    categoryModel.clear();
    

    categoryModel.clear ();

    does not work. I get:

    Asset: / / / hand. QML:180: TypeError: result of expression 'categoryModel.clear' [undefined] is not a function.

    I would like to know how to achieve using approach "more correct".

    QListDataModel does not expose its internal storage directly. It is possible to reconstruct the map by performing an iteration in a loop (with the help of data() and size() methods), the dataModel entries:

    http://developer.BlackBerry.com/Cascades/reference/bb__cascades__qlistdatamodel.html

    but I don't see how this could help. If the filtered data is changed, it must be merged with the original sort data.

    Why the original approach has not worked?

    I could not understand from the description appearance of the interface user, please post a screenshot if possible.

  • How to select and move more than one bookmark at a time? Shift + click selects multiple items that are next to each other in a list, because the element

    How to select and move more than one bookmark at a time?
    Shift + click selects multiple items that are next to each other in a list, because the items open in firefox before that happens.

    Glad it worked for you. Thanks for posting back.

  • Header download for the 'sent items' folder did not complete. Cannot select "Sent items" on the IMAP server. Error number: 0x800CCCD2

    original title: error number: 0x800CCCD2

    Can anyone help with this issue:

    Header download for the 'sent items' folder did not complete. Cannot select "Sent items" on the IMAP server. You could try refreshing your folder list to synchronize with the IMAP server. Account: 'AOL', server: 'imap.aol.com', Protocol: IMAP, server response: "SELECT failed", Port: 143, secure (SSL): no, error number: 0x800CCCD2

    Thank you!

    Hi again Steve - I have spent a lot of time on the phone this morning to Dell technical support. the accompaniment of the victim and I did a lot of fiddling around with various options of Windows Mail and I don't know exactly what we were doing, but the issue seems to have resolved itself! Thank you for your time and trouble.

    Best, Douglas

  • "Unable to select"Sent items"on the IMAP server.

    I am trying to set up Windows Live Mail, but when I send a message, I get the error message "Cannot send or receive messages on behalf of Aol."  Header for the "sent items" download did not complete.  Cannot select "Sent items" on the IMAP server.  Try to update the list of folders, and then try again. "I can't understand what they mean on the"folder list ".  What should I do?  Thank you.

    Thank you for visiting the Microsoft Answers site.

     
    The question you have posted is related to Windows Live Mail and would be better suited to the Windows Live community. Please visit the link below to find a community that will support what ask you:
     
    http://windowslivehelp.com/product.aspx?ProductID=15
  • How can I add an item to the ListView

    I have a very basic question. I would like to read data from a file xml in the ListView, then add an item to the list and store it in the file xml again. How can I do?

    {To ListView

    ID: listViewCustomUrl

    objectName: "listViewCustom."

    dataModel: {XmlDataModel}

    Source: "dataCustom.xml".

    }

    }

    First of all, your xml file must be in a read/write file in your directory app, say data, for example.

    Then, you can use a DataModel in memory (GroupDatModel), fill it with XMLcontents, a number of updates for this model, and then when your output or with an option to be persisted in the xml file.

    See the example of persistent objects in http://blackberry.github.io/Cascades-Samples/persistentobjects.html

  • Impossible to select multiple items in the list box

    I use Acrobat 9.0 Standard.

    I added a list box in the PDF format and I want to give people the ability to select multiple items in the drop-down list. In properties, on the Options tab, I chose 'multiple choice '. But I am unable to make multiple selections despite this. It still only allows me to make a choice.

    Any ideas? Is there some other step I'm missing?

    I need help with this ASAP for my business - any suggestions are appreciated!

    Thank you

    It should do that if you hold down the SHIFT key.

  • How to select multiple items in the Panel of DOM? I tried to use the SHIFT key, but it doesn't seem to work.

    I need help, select several items in my Panel of DOM, for some reason, using the SHIFT key does not work.

    I found the answer, apparently everything I had to do has been updated to the latest version of dreamweaver cc 2015.2. The Shift function is something new added in the update.

  • How to clear the selection on an ADF faces table?

    I thought I'd call setSelectedRowKeys (null) gives the desired result. However it is not. Can you think of a reason why it would not clear the selection? What should I do?

    Here's the specific scenario:

    I have a two ADF faces table tell A and B with a column each and both of them have simple lines and their rowSelection property is set to "single". Now the requirement is when a line is selected from A, it must clear all selections of B and vice versa. So I registered selectionListeners on the tables and the code that is running inside this method does the following for the table has not been selected :

    tablenNotSelected.setSelectedRowKeys (null);

    lets say, I click on a first line, then on a row of B. So far so good. So if I click on the A, the control won't to the SelectionListener method. I think that SelectionEvent isn't getting fired no doubt because the previous selection has not been erased.

    JDev version I use is JDEVADF_MAIN_GENERIC_121113.1351.6521

    What I'm missing here?

    Published by: 981525 on January 23, 2013 08:20

    try to add addPartialTarget (table) after you turn off the selection.

  • Get the selected value of a select list item in a tabular presentation.

    Hi, I have a tabular form and I'm trying to get the selected value of a select list item and store the selected value in a page element hidden elsewhere on the form of tables, so I can use this value.

    I already have something similar to the input on the tabular presentation elements.

    Get the initial values
    var line = $x_UpTill (this.triggeringElement, 'TR');
    numberOfItems var = $(' input [nom = "f12"]', ligne) [0];

    numberOfItems = 123456.123

    What I want to do is soemthing similar as above but capture the value of a select element in tabular form. I thought I could do something like:

    Get the selected value
    var line = $x_UpTill (this.triggeringElement, 'TR');
    numberOfItems var = $('selected [name = "f08"] .val ()', line) [0];

    But this method leaves the as undefined var numberOfItems.

    Please help me to find a way to identify the item 'select' in the tabular form called "f08" and get this value.

    I am a newbie to jQuery selectors etc...

    Thank you.

    Strange that you do not get an error when you run your 2nd selector.
    In any case for this kind of thing, see the HTML code of your tabular form and tell us what triggers, the element can be useful. Or better create an example at apex.oracle.com.
    In any case, I see two errors:
    (1) is there any html element "not selected" instead, the LOV in the APEX element has the select tag
    (2) you can not write a. val() inside a selector that you must place it after your selection.

    So I'd like to rewrite your code to:
    var line = $x_UpTill (this.triggeringElement, 'TR');
    numberOfItems = $("select_[nom_="f08"]",_row).val () var [0];

  • Help with dynamic action and the selection list item

    G ' Day Apex gurus.

    I have problems trying to achieve to trigger the Help window from an element automatically select. A Help window is triggered when it is clicked on the label of an item, but my customer wants to be triguered automatically as soon as the user clicks to view the options in the select list.

    I think I should be able to do with dynamic actions but I can't function.

    I know when someone clicks on the label of the item selection list trigger this JavaScript

    JavaScript:popupFieldHelp('277938589795252851','1545903379570909')

    So I want to trigger the javascript also when the user click on the item selection list and pull down the options and for that I think that the dynamic action is the way to go, but I can't do things.

    That's what I have to do:

    I created a dynamic option as follows:

    Name: test
    Sequence: 30
    Even: click
    Selection type: product (s)
    Article (s): P1_RATING <-a selection list item
    Condtion: - no requirement.

    Real Actions
    Sequence: 10
    Action: Run the JavaScript Code
    Fires when the result of the event is: true
    Fire on loading the page: checked
    Code: javascript:popupFieldHelp('277938589795252851','1545903379570909')

    Thank you anyone who can tell me what I'm doing wrong here or bring a solution to my problem to trigger the Help window from an element automatically select.

    Kind regards
    Carlos

    Hi Carlos,

    I've set up a test case of exactly in the same way and it worked fine for me. I've created a page element called P1_DA_DEMO and added some values of the static selection list, then added a help text. I used the settings are lower, I suggest you try again, but also make sure that you have no other Javascript errors on the page. Use a tool like firebug to check.

    Name: Action Dynamics demo
    Sequence: 10
    Even: click
    Selection type: product (s)
    Product (s): P1_DA_DEMO<- a="" selection="" list="">
    Condtion: - no requirement.

    Real Actions
    Sequence: 10
    Action: Run the JavaScript Code
    Fires when the result of the event is: true
    Fire on loading the page: unchecked
    Code: javascript:popupFieldHelp('277938589795252851','1545903379570909')

    Scope of the event set a Bind s.

    Thank you

    Paul

  • Clear the Cache of some items when clicking on tab

    I found this in the forms:

    If you want to clear the cache of the page when the user clicks on the tab, this should be the work of this page. You can create an after - submit processes (before the calculations and validations) with:

    apex_application.clear_page_cache(:APP_PAGE_ID);

    However, I need to clear some items not everything on the page. I tried replacing it with apex_application.clear_item_cache(:APP_ITEM); but it does not work. What is the process that clears the cache of apex_application point?

    Is the page you click away a shipment execution when you click away? If so, I'd like to try one of these in a branch of the page.

    Suppose you are on page 1 and clicking on page 2. To Page 2, let's say you want to keep the cache on the components P2_A, P2_B, but clears the cache for P2_C.

    In your page (defined on page 1) branch that is triggered to take you to page 2, try one of these:

    Clear the cache on the page: 2
    Place these items: P2_A, P2_B
    With these values: & P2_A, & P2_B.

    That should clear all of 2 but A reset and B back to their current values to the cache before it is cleared.

    If not, try this:
    Clear the cache on the page: (do not put anything here)
    Place these items: P2_C
    With these values: (do not put anything here)

    Who should (I think) only to erase P2_C

Maybe you are looking for