Здравствуйте! Я только начал изучать salesforce и столкнулся с вопросом как удалить запись по значению из поля? Я написал простой метод deleteRecord(), где записи удаляются по конкретному значению, а как его переделать в соответствии с вопросом? Объясните, пожалуйста. Спасибо.
public class StockController
{
public List<Stock__c> stocks {get; set;}
public Stock__c newItem {get;set;}
public Stock__c delItem{get;set;}
public StockController(){
this.newItem = new Stock__c();
this.refreshStocks();
}
public PageReference refreshStocks() {
this.stocks = [SELECT Id,
Name,
StockPrice__c,
StockType__c,
StockAmount__c,
StockDateAddition__c,
StockDateRelease__c,
StockAvailability__c
FROM Stock__c
LIMIT 1000];
return null;
}
public PageReference save() {
insert this.newItem;
this.newItem = new Stock__c();
this.refreshStocks();
return null;
}
public PageReference sortByName() {
this.stocks = [SELECT Id,
Name,
StockPrice__c,
StockType__c,
StockAmount__c,
StockDateAddition__c,
StockDateRelease__c,
StockAvailability__c
FROM Stock__c
ORDER BY Name
LIMIT 1000];
return null;
}
public PageReference sortByAmount(){
this.stocks = [SELECT Id,
Name,
StockPrice__c,
StockType__c,
StockAmount__c,
StockDateAddition__c,
StockDateRelease__c,
StockAvailability__c
FROM Stock__c
ORDER BY StockAmount__c
LIMIT 1000];
return null;
}
public void deleteRecord(){
delItem = [SELECT Id,
Name,
StockPrice__c,
StockType__c,
StockAmount__c,
StockDateAddition__c,
StockDateRelease__c,
StockAvailability__c
FROM Stock__c
WHERE Name = 'erfe'
];
delete delItem;
this.refreshStocks();
}
}
Здравствуйте! Я только начал изучать salesforce и столкнулся с вопросом как удалить запись по значению из поля? Я написал простой метод deleteRecord(), где записи удаляются по конкретному значению, а как его переделать в соответствии с вопросом? Объясните, пожалуйста. Спасибо. [code]public class StockController { public List<Stock__c> stocks {get; set;} public Stock__c newItem {get;set;} public Stock__c delItem{get;set;} public StockController(){ this.newItem = new Stock__c(); this.refreshStocks(); } public PageReference refreshStocks() { this.stocks = [SELECT Id, Name, StockPrice__c, StockType__c, StockAmount__c, StockDateAddition__c, StockDateRelease__c, StockAvailability__c FROM Stock__c LIMIT 1000]; return null; } public PageReference save() { insert this.newItem; this.newItem = new Stock__c(); this.refreshStocks(); return null; } public PageReference sortByName() { this.stocks = [SELECT Id, Name, StockPrice__c, StockType__c, StockAmount__c, StockDateAddition__c, StockDateRelease__c, StockAvailability__c FROM Stock__c ORDER BY Name LIMIT 1000]; return null; } public PageReference sortByAmount(){ this.stocks = [SELECT Id, Name, StockPrice__c, StockType__c, StockAmount__c, StockDateAddition__c, StockDateRelease__c, StockAvailability__c FROM Stock__c ORDER BY StockAmount__c LIMIT 1000]; return null; } public void deleteRecord(){ delItem = [SELECT Id, Name, StockPrice__c, StockType__c, StockAmount__c, StockDateAddition__c, StockDateRelease__c, StockAvailability__c FROM Stock__c WHERE Name = 'erfe' ]; delete delItem; this.refreshStocks(); } }[/code]
Много не совсем понятного кода! Если вы еще не проходили обучение на игровой площадке Trailhead, то советую пройти, там такие вопросы будут разобраны. И нужно повнимательнее искать информацию, в этом форуме такие вопросы уже разбирались ранее и есть много почти готовых решений. Можете попробовать вариант предложенный ниже. Если это поможет то попробуйте разобраться что делает данный код.
public class StockController {
public List<Stock__c> stocks{get;set;}
public String SelectedProductId { get; set; }
private void LoadData() {
stocks = [SELECT Id,
Name,
StockPrice__c,
StockType__c,
StockAmount__c,
StockDateAddition__c,
StockDateRelease__c,
StockAvailability__c
FROM Stock__c
LIMIT 10000];
}
public void DeleteRowProduct(){
if (SelectedProductId == null) {
return;
}
Stock__c tobeDeleted = null;
for(Stock__c a : stocks)
if (a.Id == SelectedProductId) {
tobeDeleted = a;
break;
}
if (tobeDeleted != null) {
Delete tobeDeleted;
}
LoadData();
}
}
Много не совсем понятного кода! Если вы еще не проходили обучение на игровой площадке Trailhead, то советую пройти, там такие вопросы будут разобраны. И нужно повнимательнее искать информацию, в этом форуме такие вопросы уже разбирались ранее и есть много почти готовых решений. Можете попробовать вариант предложенный ниже. Если это поможет то попробуйте разобраться что делает данный код. public class StockController { public List<Stock__c> stocks{get;set;} public String SelectedProductId { get; set; } private void LoadData() { stocks = [SELECT Id, Name, StockPrice__c, StockType__c, StockAmount__c, StockDateAddition__c, StockDateRelease__c, StockAvailability__c FROM Stock__c LIMIT 10000]; } public void DeleteRowProduct(){ if (SelectedProductId == null) { return; } Stock__c tobeDeleted = null; for(Stock__c a : stocks) if (a.Id == SelectedProductId) { tobeDeleted = a; break; } if (tobeDeleted != null) { Delete tobeDeleted; } LoadData(); } }