JavaFX pulling value from nth column of every row in a TableView





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















Sorry about the title, I couldn't think of anything better for it.



The following table is what I'm working with currently
enter image description here



Below is my code for creating the columns and and populating three of the 4 columns automatically from an ObservableList. The 4th column, # ordered, is editable by the user. My goal is to iterate through every row and update the item of that row with the value that the user has entered for it. I have had success iterating through the rows and getting the Item objects from the row but I have not been able to find a proper way to get the order value for that row.



TableView tableView = new TableView();
TableColumn itemCodeColumn = new TableColumn("Item Code");
TableColumn itemDescriptionColumn = new TableColumn("Description");
TableColumn numAvailableColumn = new TableColumn("# in Stock");
TableColumn numOrderColumn = new TableColumn("# Ordered");

itemCodeColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("itemCode"));
itemDescriptionColumn.setCellValueFactory(new PropertyValueFactory<Item,String>("itemDesc"));
numAvailableColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("quantity"));


I have been able to access all items found in my tableView using the following



for(Object it : tableView.getItems()){
Item it2 = (Item) it;
}


however this only gives me a reference to the object to update the ordered value, I still need a way to pull the actual order number from the table. To do this I used the following piece of code I found online. Note that itemGUIList is an ObservableList that is used to populate the table.



for(int c=0;c<itemGUIList.size();c++){
Object o;
o = tableView.getColumns().get(c).getCellObservableValue(0).getValue();
}


The problem that I ran into here was that the method getCellObservableValue() gave me the error "cannot find symbol". Searching for this did not give me any results and this piece of code seemed to be working for everyone else.



If anyone is able to point out either what I am missing, or if there is better way to solve this problem I would greatly appreciate it. If you need me to post anymore of my code then please let me know and I will. Thank you ahead of time.










share|improve this question























  • Could you show the declaration of itemGUIList and the table population part?

    – bakcsa83
    Nov 21 '18 at 21:17











  • @bakcsa83 ObservableList<Item> itemGUIList =FXCollections.observableArrayList(); and the items are added to the list by the user, I have another interface where the user inputs the information for the item and then I add it to the list via the following itemGUIList.add(newItem);

    – AFC
    Nov 21 '18 at 23:40




















0















Sorry about the title, I couldn't think of anything better for it.



The following table is what I'm working with currently
enter image description here



Below is my code for creating the columns and and populating three of the 4 columns automatically from an ObservableList. The 4th column, # ordered, is editable by the user. My goal is to iterate through every row and update the item of that row with the value that the user has entered for it. I have had success iterating through the rows and getting the Item objects from the row but I have not been able to find a proper way to get the order value for that row.



TableView tableView = new TableView();
TableColumn itemCodeColumn = new TableColumn("Item Code");
TableColumn itemDescriptionColumn = new TableColumn("Description");
TableColumn numAvailableColumn = new TableColumn("# in Stock");
TableColumn numOrderColumn = new TableColumn("# Ordered");

itemCodeColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("itemCode"));
itemDescriptionColumn.setCellValueFactory(new PropertyValueFactory<Item,String>("itemDesc"));
numAvailableColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("quantity"));


I have been able to access all items found in my tableView using the following



for(Object it : tableView.getItems()){
Item it2 = (Item) it;
}


however this only gives me a reference to the object to update the ordered value, I still need a way to pull the actual order number from the table. To do this I used the following piece of code I found online. Note that itemGUIList is an ObservableList that is used to populate the table.



for(int c=0;c<itemGUIList.size();c++){
Object o;
o = tableView.getColumns().get(c).getCellObservableValue(0).getValue();
}


The problem that I ran into here was that the method getCellObservableValue() gave me the error "cannot find symbol". Searching for this did not give me any results and this piece of code seemed to be working for everyone else.



If anyone is able to point out either what I am missing, or if there is better way to solve this problem I would greatly appreciate it. If you need me to post anymore of my code then please let me know and I will. Thank you ahead of time.










share|improve this question























  • Could you show the declaration of itemGUIList and the table population part?

    – bakcsa83
    Nov 21 '18 at 21:17











  • @bakcsa83 ObservableList<Item> itemGUIList =FXCollections.observableArrayList(); and the items are added to the list by the user, I have another interface where the user inputs the information for the item and then I add it to the list via the following itemGUIList.add(newItem);

    – AFC
    Nov 21 '18 at 23:40
















0












0








0








Sorry about the title, I couldn't think of anything better for it.



The following table is what I'm working with currently
enter image description here



Below is my code for creating the columns and and populating three of the 4 columns automatically from an ObservableList. The 4th column, # ordered, is editable by the user. My goal is to iterate through every row and update the item of that row with the value that the user has entered for it. I have had success iterating through the rows and getting the Item objects from the row but I have not been able to find a proper way to get the order value for that row.



TableView tableView = new TableView();
TableColumn itemCodeColumn = new TableColumn("Item Code");
TableColumn itemDescriptionColumn = new TableColumn("Description");
TableColumn numAvailableColumn = new TableColumn("# in Stock");
TableColumn numOrderColumn = new TableColumn("# Ordered");

itemCodeColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("itemCode"));
itemDescriptionColumn.setCellValueFactory(new PropertyValueFactory<Item,String>("itemDesc"));
numAvailableColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("quantity"));


I have been able to access all items found in my tableView using the following



for(Object it : tableView.getItems()){
Item it2 = (Item) it;
}


however this only gives me a reference to the object to update the ordered value, I still need a way to pull the actual order number from the table. To do this I used the following piece of code I found online. Note that itemGUIList is an ObservableList that is used to populate the table.



for(int c=0;c<itemGUIList.size();c++){
Object o;
o = tableView.getColumns().get(c).getCellObservableValue(0).getValue();
}


The problem that I ran into here was that the method getCellObservableValue() gave me the error "cannot find symbol". Searching for this did not give me any results and this piece of code seemed to be working for everyone else.



If anyone is able to point out either what I am missing, or if there is better way to solve this problem I would greatly appreciate it. If you need me to post anymore of my code then please let me know and I will. Thank you ahead of time.










share|improve this question














Sorry about the title, I couldn't think of anything better for it.



The following table is what I'm working with currently
enter image description here



Below is my code for creating the columns and and populating three of the 4 columns automatically from an ObservableList. The 4th column, # ordered, is editable by the user. My goal is to iterate through every row and update the item of that row with the value that the user has entered for it. I have had success iterating through the rows and getting the Item objects from the row but I have not been able to find a proper way to get the order value for that row.



TableView tableView = new TableView();
TableColumn itemCodeColumn = new TableColumn("Item Code");
TableColumn itemDescriptionColumn = new TableColumn("Description");
TableColumn numAvailableColumn = new TableColumn("# in Stock");
TableColumn numOrderColumn = new TableColumn("# Ordered");

itemCodeColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("itemCode"));
itemDescriptionColumn.setCellValueFactory(new PropertyValueFactory<Item,String>("itemDesc"));
numAvailableColumn.setCellValueFactory(new PropertyValueFactory<Item,Integer>("quantity"));


I have been able to access all items found in my tableView using the following



for(Object it : tableView.getItems()){
Item it2 = (Item) it;
}


however this only gives me a reference to the object to update the ordered value, I still need a way to pull the actual order number from the table. To do this I used the following piece of code I found online. Note that itemGUIList is an ObservableList that is used to populate the table.



for(int c=0;c<itemGUIList.size();c++){
Object o;
o = tableView.getColumns().get(c).getCellObservableValue(0).getValue();
}


The problem that I ran into here was that the method getCellObservableValue() gave me the error "cannot find symbol". Searching for this did not give me any results and this piece of code seemed to be working for everyone else.



If anyone is able to point out either what I am missing, or if there is better way to solve this problem I would greatly appreciate it. If you need me to post anymore of my code then please let me know and I will. Thank you ahead of time.







java user-interface javafx






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 21 '18 at 21:04









AFCAFC

349




349













  • Could you show the declaration of itemGUIList and the table population part?

    – bakcsa83
    Nov 21 '18 at 21:17











  • @bakcsa83 ObservableList<Item> itemGUIList =FXCollections.observableArrayList(); and the items are added to the list by the user, I have another interface where the user inputs the information for the item and then I add it to the list via the following itemGUIList.add(newItem);

    – AFC
    Nov 21 '18 at 23:40





















  • Could you show the declaration of itemGUIList and the table population part?

    – bakcsa83
    Nov 21 '18 at 21:17











  • @bakcsa83 ObservableList<Item> itemGUIList =FXCollections.observableArrayList(); and the items are added to the list by the user, I have another interface where the user inputs the information for the item and then I add it to the list via the following itemGUIList.add(newItem);

    – AFC
    Nov 21 '18 at 23:40



















Could you show the declaration of itemGUIList and the table population part?

– bakcsa83
Nov 21 '18 at 21:17





Could you show the declaration of itemGUIList and the table population part?

– bakcsa83
Nov 21 '18 at 21:17













@bakcsa83 ObservableList<Item> itemGUIList =FXCollections.observableArrayList(); and the items are added to the list by the user, I have another interface where the user inputs the information for the item and then I add it to the list via the following itemGUIList.add(newItem);

– AFC
Nov 21 '18 at 23:40







@bakcsa83 ObservableList<Item> itemGUIList =FXCollections.observableArrayList(); and the items are added to the list by the user, I have another interface where the user inputs the information for the item and then I add it to the list via the following itemGUIList.add(newItem);

– AFC
Nov 21 '18 at 23:40














1 Answer
1






active

oldest

votes


















1














In your declaration of the TableView, you're using the raw type.



This results in the type of tableView.getColumns() being ObservableList and therefore the type of tableView.getColumns().get(c) being Object, which does not contain a getCellObservableValue method.



You should add a type parameter to the declaration, even if you're using ? to fix this issue:



TableView<Item> tableView = new TableView<>();


or



TableView<?> tableView = new TableView<>();


Note:



It's preferable not to use the raw type, if possible, since this allows the compiler to do some type checking and also you avoid having to write some casts in your code, e.g.



for(Object it : tableView.getItems()) {
Item it2 = (Item) it;
}


could simply be changed to



for(Item it2 : tableView.getItems()) {
}




Actually using the TableColumn to retrieve the number of orders shouldn't be necessary though. You could simply retrieve it from the item itself (or the other location where this data is stored), e.g.:



Item item = tableView.getItems().get(0);
int ordered = item.getOrdered();





share|improve this answer


























  • Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

    – AFC
    Nov 21 '18 at 23:33











  • I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

    – AFC
    Nov 21 '18 at 23:36











  • Where do you store the data? What do you use as cellValueFactory?

    – fabian
    Nov 22 '18 at 3:08












Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53420459%2fjavafx-pulling-value-from-nth-column-of-every-row-in-a-tableview%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














In your declaration of the TableView, you're using the raw type.



This results in the type of tableView.getColumns() being ObservableList and therefore the type of tableView.getColumns().get(c) being Object, which does not contain a getCellObservableValue method.



You should add a type parameter to the declaration, even if you're using ? to fix this issue:



TableView<Item> tableView = new TableView<>();


or



TableView<?> tableView = new TableView<>();


Note:



It's preferable not to use the raw type, if possible, since this allows the compiler to do some type checking and also you avoid having to write some casts in your code, e.g.



for(Object it : tableView.getItems()) {
Item it2 = (Item) it;
}


could simply be changed to



for(Item it2 : tableView.getItems()) {
}




Actually using the TableColumn to retrieve the number of orders shouldn't be necessary though. You could simply retrieve it from the item itself (or the other location where this data is stored), e.g.:



Item item = tableView.getItems().get(0);
int ordered = item.getOrdered();





share|improve this answer


























  • Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

    – AFC
    Nov 21 '18 at 23:33











  • I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

    – AFC
    Nov 21 '18 at 23:36











  • Where do you store the data? What do you use as cellValueFactory?

    – fabian
    Nov 22 '18 at 3:08
















1














In your declaration of the TableView, you're using the raw type.



This results in the type of tableView.getColumns() being ObservableList and therefore the type of tableView.getColumns().get(c) being Object, which does not contain a getCellObservableValue method.



You should add a type parameter to the declaration, even if you're using ? to fix this issue:



TableView<Item> tableView = new TableView<>();


or



TableView<?> tableView = new TableView<>();


Note:



It's preferable not to use the raw type, if possible, since this allows the compiler to do some type checking and also you avoid having to write some casts in your code, e.g.



for(Object it : tableView.getItems()) {
Item it2 = (Item) it;
}


could simply be changed to



for(Item it2 : tableView.getItems()) {
}




Actually using the TableColumn to retrieve the number of orders shouldn't be necessary though. You could simply retrieve it from the item itself (or the other location where this data is stored), e.g.:



Item item = tableView.getItems().get(0);
int ordered = item.getOrdered();





share|improve this answer


























  • Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

    – AFC
    Nov 21 '18 at 23:33











  • I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

    – AFC
    Nov 21 '18 at 23:36











  • Where do you store the data? What do you use as cellValueFactory?

    – fabian
    Nov 22 '18 at 3:08














1












1








1







In your declaration of the TableView, you're using the raw type.



This results in the type of tableView.getColumns() being ObservableList and therefore the type of tableView.getColumns().get(c) being Object, which does not contain a getCellObservableValue method.



You should add a type parameter to the declaration, even if you're using ? to fix this issue:



TableView<Item> tableView = new TableView<>();


or



TableView<?> tableView = new TableView<>();


Note:



It's preferable not to use the raw type, if possible, since this allows the compiler to do some type checking and also you avoid having to write some casts in your code, e.g.



for(Object it : tableView.getItems()) {
Item it2 = (Item) it;
}


could simply be changed to



for(Item it2 : tableView.getItems()) {
}




Actually using the TableColumn to retrieve the number of orders shouldn't be necessary though. You could simply retrieve it from the item itself (or the other location where this data is stored), e.g.:



Item item = tableView.getItems().get(0);
int ordered = item.getOrdered();





share|improve this answer















In your declaration of the TableView, you're using the raw type.



This results in the type of tableView.getColumns() being ObservableList and therefore the type of tableView.getColumns().get(c) being Object, which does not contain a getCellObservableValue method.



You should add a type parameter to the declaration, even if you're using ? to fix this issue:



TableView<Item> tableView = new TableView<>();


or



TableView<?> tableView = new TableView<>();


Note:



It's preferable not to use the raw type, if possible, since this allows the compiler to do some type checking and also you avoid having to write some casts in your code, e.g.



for(Object it : tableView.getItems()) {
Item it2 = (Item) it;
}


could simply be changed to



for(Item it2 : tableView.getItems()) {
}




Actually using the TableColumn to retrieve the number of orders shouldn't be necessary though. You could simply retrieve it from the item itself (or the other location where this data is stored), e.g.:



Item item = tableView.getItems().get(0);
int ordered = item.getOrdered();






share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 21 '18 at 21:36

























answered Nov 21 '18 at 21:26









fabianfabian

53.3k115373




53.3k115373













  • Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

    – AFC
    Nov 21 '18 at 23:33











  • I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

    – AFC
    Nov 21 '18 at 23:36











  • Where do you store the data? What do you use as cellValueFactory?

    – fabian
    Nov 22 '18 at 3:08



















  • Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

    – AFC
    Nov 21 '18 at 23:33











  • I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

    – AFC
    Nov 21 '18 at 23:36











  • Where do you store the data? What do you use as cellValueFactory?

    – fabian
    Nov 22 '18 at 3:08

















Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

– AFC
Nov 21 '18 at 23:33





Hi there, so I did what you said with changing tableView to be of type Item and I can finally use getCellObservableValue with the table which is very nice. However I have run into one more issue. As you mentioned I could skip the whole process of getting the 'ordered' value from the table and use item.getOrdered(). However the items have a default value of 0 for their ordered variable. On top of this, the 4th column on the table is not tied to the Item ObservableList and updated from it. Because of this, getCellObservableValue() cannot pull the value from that cell.

– AFC
Nov 21 '18 at 23:33













I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

– AFC
Nov 21 '18 at 23:36





I ran out of characters on the pervious comment. On top of that, if I tie the ordered column to the item observableList, then change that value by editing it, getCellObservableValue() will return 0 every time since every item defaults to 0, even after I edit the value to be any other Integer, it will return only 0. Is there a way I can return either the edited value of the # ordered while having it tied to the ObservableList or not tie it to the list and still get the value that is put in by the user. Thank you very much for the help by the way

– AFC
Nov 21 '18 at 23:36













Where do you store the data? What do you use as cellValueFactory?

– fabian
Nov 22 '18 at 3:08





Where do you store the data? What do you use as cellValueFactory?

– fabian
Nov 22 '18 at 3:08




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53420459%2fjavafx-pulling-value-from-nth-column-of-every-row-in-a-tableview%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)