Регистрация  |  Вход

Редактирование записей с помощью inputField

Здраствуйте, задача состоит в следующем. Есть родительский объект Library и дочерний Book. В объекте Library одна запись library1 и 3 дочерних: book1, book2. Задача в том, что на VF page должна выводиться таблица с именами книг и библиотеки, в которой они храняться. С этим проблем нет, как видно на картинке
Проблема заключается с редактированием записей полем ввода. Необходимо, чтобы менялось название библиотеки, в которой хранятся книги, на введённое в поле ввода значение. Не могли бы вы показать кодом, как можно это реализовать. В интернете пока не нашёл

Здраствуйте, задача состоит в следующем. Есть родительский объект Library и дочерний Book. В объекте Library одна запись library1 и 3 дочерних: book1, book2. Задача в том, что на VF page должна выводиться таблица с именами книг и библиотеки, в которой они храняться. С этим проблем нет, как видно на картинке [img]https://pp.userapi.com/c844616/v844616906/5ac96/5RYAx4YzwME.jpg[/img]
Проблема заключается с редактированием записей полем ввода. Необходимо, чтобы менялось название библиотеки, в которой хранятся книги, на введённое в поле ввода значение. Не могли бы вы показать кодом, как можно это реализовать. В интернете пока не нашёл

Мне почему-то кажется что вам стоит провести некоторое время с Trailhead прежде чем начать задавать вопрос по разработке. Тут врядки кто-то будет за вас писать код. Поправить, подсказать "так или так" можем, но "как сделать это" уже сложнее. К тому же ваш вопрос ну просто по самым азам которые надо знать прежде чем вообще садиться за программирование.

Вот тут я думаю подходящий модуль
https://trailhead.salesforce.com/trails/force_com_dev_beginner/modules/visualforce_fundamentals

Мне почему-то кажется что вам стоит провести некоторое время с Trailhead прежде чем начать задавать вопрос по разработке. Тут врядки кто-то будет за вас писать код. Поправить, подсказать "так или так" можем, но "как сделать это" уже сложнее. К тому же ваш вопрос ну просто по самым азам которые надо знать прежде чем вообще садиться за программирование.

Вот тут я думаю подходящий модуль
https://trailhead.salesforce.com/trails/force_com_dev_beginner/modules/visualforce_fundamentals

Dmitry Shnyrev
Мне почему-то кажется что вам стоит провести некоторое время с Trailhead прежде чем начать задавать вопрос по разработке. Тут врядки кто-то будет за вас писать код. Поправить, подсказать "так или так" можем, но "как сделать это" уже сложнее. К тому же ваш вопрос ну просто по самым азам которые надо знать прежде чем вообще садиться за программирование.

Вот тут я думаю подходящий модуль
https://trailhead.salesforce.com/trails/force_com_dev_beginner/modules/visualforce_fundamentals


я проходил эти трейлы и про апекс и базы данных. Вопрос больше не в коде, а через что это реализовать. Можно ли сделать upsert по id, например? После ввода в поле ввода имени, создаётся новая библиотека, и через upsert по id поменять название существующей. Можно ли так сделать? Или иначе как-то? В любом случае пока так попробую, и буду дальше искать варианты

[quote="Dmitry Shnyrev"]Мне почему-то кажется что вам стоит провести некоторое время с Trailhead прежде чем начать задавать вопрос по разработке. Тут врядки кто-то будет за вас писать код. Поправить, подсказать "так или так" можем, но "как сделать это" уже сложнее. К тому же ваш вопрос ну просто по самым азам которые надо знать прежде чем вообще садиться за программирование.

Вот тут я думаю подходящий модуль
https://trailhead.salesforce.com/trails/force_com_dev_beginner/modules/visualforce_fundamentals[/quote]
я проходил эти трейлы и про апекс и базы данных. Вопрос больше не в коде, а через что это реализовать. Можно ли сделать upsert по id, например? После ввода в поле ввода имени, создаётся новая библиотека, и через upsert по id поменять название существующей. Можно ли так сделать? Или иначе как-то? В любом случае пока так попробую, и буду дальше искать варианты 

Дело в том что вопрос вообще непонятный. У вас есть input c Library Name и вы спрашиваете как изменить Name в записи в Базе? Между двумя этими понятиями еще куча промежуточных шагов которые могут быть реализованы по разному.
А на счет dml операций - есть Insert(создает новую запись), Update(обновляет запись по Id), Upsert(это среднее между Insert и Update и она работает как первый или второй в зависимости от того Id есть или нет).

Дело в том что вопрос вообще непонятный. У вас есть input c Library Name и вы спрашиваете как изменить Name в записи в Базе? Между двумя этими понятиями еще куча промежуточных шагов которые могут быть реализованы по разному.
А на счет dml операций - есть Insert(создает новую запись), Update(обновляет запись по Id), Upsert(это среднее между Insert и Update и она работает как первый или второй в зависимости от того Id есть или нет).

Dmitry Shnyrev
Дело в том что вопрос вообще непонятный. У вас есть input c Library Name и вы спрашиваете как изменить Name в записи в Базе? Между двумя этими понятиями еще куча промежуточных шагов которые могут быть реализованы по разному.
А на счет dml операций - есть Insert(создает новую запись), Update(обновляет запись по Id), Upsert(это среднее между Insert и Update и она работает как первый или второй в зависимости от того Id есть или нет).

Да, в базе library есть запись library1 к примеру, и вот надо, чтобы оно переименовывалось на введенное значение. Ну вот видимо с dml должно получится, буду пробовать. Спасибо

[quote="Dmitry Shnyrev"]Дело в том что вопрос вообще непонятный. У вас есть input c Library Name и вы спрашиваете как изменить Name в записи в Базе? Между двумя этими понятиями еще куча промежуточных шагов которые могут быть реализованы по разному.
А на счет dml операций - есть Insert(создает новую запись), Update(обновляет запись по Id), Upsert(это среднее между Insert и Update и она работает как первый или второй в зависимости от того Id есть или нет).[/quote]
Да, в базе library есть запись library1 к примеру, и вот надо, чтобы оно переименовывалось на введенное значение. Ну вот видимо с dml должно получится, буду пробовать. Спасибо

morfiniy
Вопрос больше не в коде, а через что это реализовать. Можно ли сделать upsert по id, например? После ввода в поле ввода имени, создаётся новая библиотека, и через upsert по id поменять название существующей.

Можно.

[quote="morfiniy"] Вопрос больше не в коде, а через что это реализовать. Можно ли сделать upsert по id, например? После ввода в поле ввода имени, создаётся новая библиотека, и через upsert по id поменять название существующей.[/quote]
Можно.

Получилось ли реализовать через dml?
Есть ли возможность обратиться в личку, не нахожу

Получилось ли реализовать через dml? 
Есть ли возможность обратиться в личку, не нахожу

alena_kov
Есть ли возможность обратиться в личку, не нахожу

Уже нет. Личку закрыли.

[quote="alena_kov"]Есть ли возможность обратиться в личку, не нахожу[/quote]
Уже нет. Личку закрыли.

Не могу найти ранее созданную тему и обратиться в личку, посему здесь
Дмитрий, можно ли где то увидеть, как работает библиотека, создаваемая здесь Your text to link here...
Интересует создание таблицы, поля которой берутся из разных объектов

Не могу найти ранее созданную тему и обратиться в личку, посему здесь
Дмитрий, можно ли где то увидеть, как работает библиотека, создаваемая здесь [url=https://salesforce-developer.ru/sozdanie-custom-visualforce-stranitsyi]Your text to link here...[/url]
Интересует создание таблицы, поля которой берутся из разных объектов

alena_kov
Не могу найти ранее созданную тему и обратиться в личку, посему здесь
Дмитрий, можно ли где то увидеть, как работает библиотека, создаваемая здесь Your text to link here...
Интересует создание таблицы, поля которой берутся из разных объектов

Создайте wrapper класс, который будет содержать в себе все необходимые объекты в качестве полей. Например у вас есть два объекта A__c и B__c, такой класс может выглядеть например так:

class ExampleWrapper
{
public A__c aInstance {get; set;}
public B__c bInstance {get; set;}
}

Где-то в контроллере:
public List<ExampleWrapper> wrapperList {get; set;}

и потом в VF будете использовать вот так:
<apex:pageBlockTable value="{!wrapperList}" var="wrapperInstance">
<apex:column headerValue="Column from object A" value="{!wrapperInstance.aInstance.Some_Field__c}"/>
<apex:column headerValue="Column from object B" value="{!wrapperInstance.bInstance.Some_Ohter_Field__c}"/>
</apex:pageBlockTable>

[quote="alena_kov"]Не могу найти ранее созданную тему и обратиться в личку, посему здесь
Дмитрий, можно ли где то увидеть, как работает библиотека, создаваемая здесь [url=https://salesforce-developer.ru/sozdanie-custom-visualforce-stranitsyi]Your text to link here...[/url]
Интересует создание таблицы, поля которой берутся из разных объектов[/quote]

Создайте wrapper класс, который будет содержать в себе все необходимые объекты в качестве полей. Например у вас есть два объекта A__c и B__c, такой класс может выглядеть например так:
[code]
class ExampleWrapper
{
    public A__c aInstance {get; set;}
    public B__c bInstance {get; set;}
}
[/code]
Где-то в контроллере:
[code]
public List<ExampleWrapper> wrapperList {get; set;}
[/code]
и потом в VF будете использовать вот так:
[code]
<apex:pageBlockTable value="{!wrapperList}" var="wrapperInstance">
    <apex:column headerValue="Column from object A" value="{!wrapperInstance.aInstance.Some_Field__c}"/>
    <apex:column headerValue="Column from object B" value="{!wrapperInstance.bInstance.Some_Ohter_Field__c}"/>
</apex:pageBlockTable>
[/code]

Вот видите alena_kov почему полезнее писать вопросы на форуме а не в личку.
ilya leshchuk показал отличный пример.

Вот видите alena_kov почему полезнее писать вопросы на форуме а не в личку.
ilya leshchuk показал отличный пример.

Да, спасибо огромное!

Да, спасибо огромное!

Подскажите пожалуйста, может есть более простые способы вывода account owner,который я первоначально собиралась вывести использованием двух объектов в одной таблице.
Вроде как дата при помощи {! today()} ?

Подскажите пожалуйста, может есть более простые способы вывода account owner,который я первоначально собиралась вывести использованием двух объектов в одной таблице.
Вроде как дата при помощи {! today()} ?

alena_kov
может есть более простые способы вывода account owner

Более простые способы чем какой? не вижу выше никакого упоминания хоть какого-то способа вывода account owner

[quote="alena_kov"]может есть более простые способы вывода account owner[/quote]
Более простые способы чем какой? не вижу выше никакого упоминания хоть какого-то способа вывода account owner

Выше способ отображения в таблице данных из двух объектов. Я не уточнила, может это важно, часть полей из custom object, к ним добавляется текущая дата и эккаунт оунер.

Выше способ отображения в таблице данных из двух объектов. Я не уточнила, может это важно, часть полей из custom object, к ним добавляется текущая дата и эккаунт оунер.

alena_kov
Выше способ отображения в таблице данных из двух объектов. Я не уточнила, может это важно, часть полей из custom object, к ним добавляется текущая дата и эккаунт оунер.

"эккаунт" это объект Account или что-то другое?
Вообще у любого объекта в Salesfroce есть lookup (ссылка) на овнера(владельца).
Тоесть в SELECT
можно тупо добавить поле ..., Owner.Name FROM Your_Custom_Object__c
и потом в таблице его вывести.

Но зачем отдельно выводить какие-то поля из кастомного объекта и овнера из Account это конечно загадка.

[quote="alena_kov"]Выше способ отображения в таблице данных из двух объектов. Я не уточнила, может это важно, часть полей из custom object, к ним добавляется текущая дата и эккаунт оунер.[/quote]
"эккаунт" это объект [b]Account[/b] или что-то другое?
Вообще у любого объекта в Salesfroce есть lookup (ссылка) на овнера(владельца). 
Тоесть в SELECT 
можно тупо добавить поле ..., Owner.Name FROM Your_Custom_Object__c
и потом в таблице его вывести.

Но зачем отдельно выводить какие-то поля из кастомного объекта и овнера из Account это конечно загадка.