Is there a way to determine if an object supports list view?
Is there a way to determine if an object supports list view?
I've developed a VF page which shows a list of Objects and based on Object selection it shows list views of that selected object. For some objects like EmailTemplate, Organization etc it throwing system exception "List Controllers not supported for ...."
I'm using below code to fetch list views of Selected Object. However, this code is failing for objects like EmailTemplate, Organization etc
Hence, my question, is there a way to determine if an object supports list view?
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
apex visualforce list-view describesobject standardsetcontroller
add a comment |
Is there a way to determine if an object supports list view?
I've developed a VF page which shows a list of Objects and based on Object selection it shows list views of that selected object. For some objects like EmailTemplate, Organization etc it throwing system exception "List Controllers not supported for ...."
I'm using below code to fetch list views of Selected Object. However, this code is failing for objects like EmailTemplate, Organization etc
Hence, my question, is there a way to determine if an object supports list view?
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
apex visualforce list-view describesobject standardsetcontroller
add a comment |
Is there a way to determine if an object supports list view?
I've developed a VF page which shows a list of Objects and based on Object selection it shows list views of that selected object. For some objects like EmailTemplate, Organization etc it throwing system exception "List Controllers not supported for ...."
I'm using below code to fetch list views of Selected Object. However, this code is failing for objects like EmailTemplate, Organization etc
Hence, my question, is there a way to determine if an object supports list view?
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
apex visualforce list-view describesobject standardsetcontroller
Is there a way to determine if an object supports list view?
I've developed a VF page which shows a list of Objects and based on Object selection it shows list views of that selected object. For some objects like EmailTemplate, Organization etc it throwing system exception "List Controllers not supported for ...."
I'm using below code to fetch list views of Selected Object. However, this code is failing for objects like EmailTemplate, Organization etc
Hence, my question, is there a way to determine if an object supports list view?
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
apex visualforce list-view describesobject standardsetcontroller
apex visualforce list-view describesobject standardsetcontroller
asked 3 hours ago
Chirag MehtaChirag Mehta
558620
558620
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I researched something similar recently and stumbled upon across this standard object ListView
The ListView record tells you if the ListView is SOQL compatible,(which you are trying to do)
So you go by
ListView lv = [SELECT IsSoqlCompatible FROM ListView WHERE SobjectType=:SelectObject LIMIT 1];
if(lv.IsSoqlCompatible){
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
}else{
//ListView SOQL not supported handle here
}
Thanks @Pranay.
– Chirag Mehta
1 hour ago
add a comment |
I think the approach to fetch the listviews through setcontroller is kind of problematic here. Per this doc, only specific objects are supported.
There is this ListView object which gives the list of the listviews in the system. When I queried for EmailTemplate, it did not throw any error but simply returned 0 values.
SELECT CreatedById,CreatedDate,DeveloperName,Id,IsSoqlCompatible,LastModifiedById,LastModifiedDate,LastReferencedDate,LastViewedDate,Name,NamespacePrefix,SobjectType,SystemModstamp FROM ListView WHERE sObjectType='EmailTemplate'
To get all the supported objects: The sObjectType field in the ListView is picklist field and you can get all the values of that picklist field using PicklistValueInfo.
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f246941%2fis-there-a-way-to-determine-if-an-object-supports-list-view%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I researched something similar recently and stumbled upon across this standard object ListView
The ListView record tells you if the ListView is SOQL compatible,(which you are trying to do)
So you go by
ListView lv = [SELECT IsSoqlCompatible FROM ListView WHERE SobjectType=:SelectObject LIMIT 1];
if(lv.IsSoqlCompatible){
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
}else{
//ListView SOQL not supported handle here
}
Thanks @Pranay.
– Chirag Mehta
1 hour ago
add a comment |
I researched something similar recently and stumbled upon across this standard object ListView
The ListView record tells you if the ListView is SOQL compatible,(which you are trying to do)
So you go by
ListView lv = [SELECT IsSoqlCompatible FROM ListView WHERE SobjectType=:SelectObject LIMIT 1];
if(lv.IsSoqlCompatible){
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
}else{
//ListView SOQL not supported handle here
}
Thanks @Pranay.
– Chirag Mehta
1 hour ago
add a comment |
I researched something similar recently and stumbled upon across this standard object ListView
The ListView record tells you if the ListView is SOQL compatible,(which you are trying to do)
So you go by
ListView lv = [SELECT IsSoqlCompatible FROM ListView WHERE SobjectType=:SelectObject LIMIT 1];
if(lv.IsSoqlCompatible){
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
}else{
//ListView SOQL not supported handle here
}
I researched something similar recently and stumbled upon across this standard object ListView
The ListView record tells you if the ListView is SOQL compatible,(which you are trying to do)
So you go by
ListView lv = [SELECT IsSoqlCompatible FROM ListView WHERE SobjectType=:SelectObject LIMIT 1];
if(lv.IsSoqlCompatible){
String baseQuery = 'Select ID FROM ' + SelectObject + ' Limit 1';
objSetController = new ApexPages.StandardSetController(Database.getQueryLocator(baseQuery));
List < SelectOption > options = objSetController.getListViewOptions();
}else{
//ListView SOQL not supported handle here
}
answered 2 hours ago
Pranay JaiswalPranay Jaiswal
14.5k32553
14.5k32553
Thanks @Pranay.
– Chirag Mehta
1 hour ago
add a comment |
Thanks @Pranay.
– Chirag Mehta
1 hour ago
Thanks @Pranay.
– Chirag Mehta
1 hour ago
Thanks @Pranay.
– Chirag Mehta
1 hour ago
add a comment |
I think the approach to fetch the listviews through setcontroller is kind of problematic here. Per this doc, only specific objects are supported.
There is this ListView object which gives the list of the listviews in the system. When I queried for EmailTemplate, it did not throw any error but simply returned 0 values.
SELECT CreatedById,CreatedDate,DeveloperName,Id,IsSoqlCompatible,LastModifiedById,LastModifiedDate,LastReferencedDate,LastViewedDate,Name,NamespacePrefix,SobjectType,SystemModstamp FROM ListView WHERE sObjectType='EmailTemplate'
To get all the supported objects: The sObjectType field in the ListView is picklist field and you can get all the values of that picklist field using PicklistValueInfo.
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
add a comment |
I think the approach to fetch the listviews through setcontroller is kind of problematic here. Per this doc, only specific objects are supported.
There is this ListView object which gives the list of the listviews in the system. When I queried for EmailTemplate, it did not throw any error but simply returned 0 values.
SELECT CreatedById,CreatedDate,DeveloperName,Id,IsSoqlCompatible,LastModifiedById,LastModifiedDate,LastReferencedDate,LastViewedDate,Name,NamespacePrefix,SobjectType,SystemModstamp FROM ListView WHERE sObjectType='EmailTemplate'
To get all the supported objects: The sObjectType field in the ListView is picklist field and you can get all the values of that picklist field using PicklistValueInfo.
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
add a comment |
I think the approach to fetch the listviews through setcontroller is kind of problematic here. Per this doc, only specific objects are supported.
There is this ListView object which gives the list of the listviews in the system. When I queried for EmailTemplate, it did not throw any error but simply returned 0 values.
SELECT CreatedById,CreatedDate,DeveloperName,Id,IsSoqlCompatible,LastModifiedById,LastModifiedDate,LastReferencedDate,LastViewedDate,Name,NamespacePrefix,SobjectType,SystemModstamp FROM ListView WHERE sObjectType='EmailTemplate'
To get all the supported objects: The sObjectType field in the ListView is picklist field and you can get all the values of that picklist field using PicklistValueInfo.
I think the approach to fetch the listviews through setcontroller is kind of problematic here. Per this doc, only specific objects are supported.
There is this ListView object which gives the list of the listviews in the system. When I queried for EmailTemplate, it did not throw any error but simply returned 0 values.
SELECT CreatedById,CreatedDate,DeveloperName,Id,IsSoqlCompatible,LastModifiedById,LastModifiedDate,LastReferencedDate,LastViewedDate,Name,NamespacePrefix,SobjectType,SystemModstamp FROM ListView WHERE sObjectType='EmailTemplate'
To get all the supported objects: The sObjectType field in the ListView is picklist field and you can get all the values of that picklist field using PicklistValueInfo.
answered 2 hours ago
Shailesh PatilShailesh Patil
1,554512
1,554512
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
add a comment |
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
Thanks @Shailesh. I agree that this seems to be a better way of finding a list of objects that support list views. Thanks!
– Chirag Mehta
1 hour ago
add a comment |
Thanks for contributing an answer to Salesforce Stack Exchange!
- 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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f246941%2fis-there-a-way-to-determine-if-an-object-supports-list-view%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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