HTML SelectBox 查看 Salesforce 对象数据
HTML SelectBox view Salesforce Object data
我是 SalesForce 的新手,我正在使用 HTML VisualForce 页面,因为它比 Apex 更灵活地设计页面。
现在我一直无法将 SalesForce 对象数据输入到 ID 为“Lop”的 HTML SelectBox。
这是我的 VisualForce 代码,这是我使用 HTML 和 CSS 进行设计的地方:
<apex:page docType="html-5.0" controller="ThemMoiController">
<!-- CSS -->
<style>
table{
border:1px solid black;
}
td{
text-align: middle
}
#NgaySinh, #ThemMoi{
box-sizing: border-box;
min-width: 10px;
max-width: 100%;
width: 100%;
}
</style>
<!-- HTML -->
<table>
<tr>
<td>
<u>Quay lại</u>
</td>
</tr>
<tr/>
<tr>
<td/>
<td>Họ</td>
<td>
<input id="Ho" type="text" value="{!hoVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Tên</td>
<td>
<input id="Ten" type="text" value="{!tenVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Giới tính</td>
<td>
<input id="GioiTinh" type="checkbox" value="{!gioitinhVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Ngày sinh</td>
<td>
<input id="NgaySinh" type="date" value="{!ngaysinhVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Điểm 1</td>
<td>
<input id="Diem1" type="text" value="{!diem1Val}"/>
</td>
</tr>
<tr>
<td/>
<td>Điểm 2</td>
<td>
<input id="Diem2" type="text" value="{!diem2Val}"/>
</td>
</tr>
<tr>
<td/>
<td>Điểm 3</td>
<td>
<input id="Diem3" type="text" value="{!diem3Val}"/>
</td>
</tr>
<tr>
<td/>
<td>Lớp</td>
<td>
<select id="Lop"/>
</td>
</tr>
<tr/><tr/>
<tr>
<td/><td/>
<td>
<button id="ThemMoi" type="button">Thêm mới</button>
</td>
</tr>
</table>
</apex:page>
这是我的控制器 Apex 代码:
public class ThemMoiController {
public string hoVal { get; set; }
public string tenVal { get; set; }
public boolean gioitinhVal { get; set; }
public date ngaysinhVal { get; set; }
public double diem1Val { get; set; }
public double diem2Val { get; set; }
public double diem3Val { get; set; }
public void doInsert(){
HOCSINH__c hs = new HOCSINH__c();
hs.HO__c = hoVal;
}
}
非常感谢您的帮助。
-> 使用 getter setter 创建新的 sobject 变量并在构造函数中初始化此变量。
-> 然后在 vf 中使用这个 sobject 变量来输入来自用户的字段值。
-> 更新 doInsert 方法以创建新记录。
Apex 控制器:
public class ThemMoiController {
public string hoVal { get; set; }
public string tenVal { get; set; }
public boolean gioitinhVal { get; set; }
public date ngaysinhVal { get; set; }
public double diem1Val { get; set; }
public double diem2Val { get; set; }
public double diem3Val { get; set; }
public HOCSINH__c hs { get; set; }
public ThemMoiController(){
hs = new HOCSINH__c();
}
public void doInsert(){
insert hs;
system.debug('---->'+hs);
}
}
VF 页面:
<apex:page docType="html-5.0" controller="ThemMoiController">
<!-- CSS -->
<style>
table{
border:1px solid black;
}
td{
text-align: middle
}
#NgaySinh, #ThemMoi{
box-sizing: border-box;
min-width: 10px;
max-width: 100%;
width: 100%;
}
</style>
<apex:form>
<!-- HTML -->
<table>
<tr>
<td>
<u>Quay lại</u>
</td>
</tr>
<tr>
<td>name</td>
<td>
<apex:inputField value="{!hs.name}"/>
</td>
</tr>
<tr>
<td>Họ</td>
<td>
<apex:inputField id="Ho" value="{!hs.HO__c}"/>
</td>
</tr>
<tr>
<td>
<apex:commandButton action="{!doInsert}" value="Thêm mới" />
</td>
</tr>
</table>
</apex:form>
</apex:page>
-> 当我们点击 'Thêm mới' 按钮时,将在 HOCSINH__c 对象中创建一条新记录。
您可以创建一个变量,它将成为 lop 对象的列表。
然后在构造函数中使用 soql 查询获取要在 select 下拉列表中显示的 lop 对象的所有记录,并将 soql 查询的结果分配给上述变量,即 lop sobject 列表。
然后创建 getter 方法,如下所述,该方法将 return select 选项列表 class。将下拉值放入 lop 变量列表中的 selectOption 变量列表中。
public List<SelectOption> getItems() {
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('US','US'));
options.add(new SelectOption('CANADA','Canada'));
options.add(new SelectOption('MEXICO','Mexico'));
return options;
}
使用以下代码在 VF 页面上实现 select 功能。
<apex:form>
<apex:selectList value="{!variableToStoreSelectedValue}" multiselect="true">
<apex:selectOptions value="{!items}"/>
</apex:selectList><p/>
</apex:form>
转到文档 link 了解更多详细信息:https://developer.salesforce.com/docs/atlas.en-us.234.0.pages.meta/pages/pages_compref_selectList.htm
我是 SalesForce 的新手,我正在使用 HTML VisualForce 页面,因为它比 Apex 更灵活地设计页面。
现在我一直无法将 SalesForce 对象数据输入到 ID 为“Lop”的 HTML SelectBox。
这是我的 VisualForce 代码,这是我使用 HTML 和 CSS 进行设计的地方:
<apex:page docType="html-5.0" controller="ThemMoiController">
<!-- CSS -->
<style>
table{
border:1px solid black;
}
td{
text-align: middle
}
#NgaySinh, #ThemMoi{
box-sizing: border-box;
min-width: 10px;
max-width: 100%;
width: 100%;
}
</style>
<!-- HTML -->
<table>
<tr>
<td>
<u>Quay lại</u>
</td>
</tr>
<tr/>
<tr>
<td/>
<td>Họ</td>
<td>
<input id="Ho" type="text" value="{!hoVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Tên</td>
<td>
<input id="Ten" type="text" value="{!tenVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Giới tính</td>
<td>
<input id="GioiTinh" type="checkbox" value="{!gioitinhVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Ngày sinh</td>
<td>
<input id="NgaySinh" type="date" value="{!ngaysinhVal}"/>
</td>
</tr>
<tr>
<td/>
<td>Điểm 1</td>
<td>
<input id="Diem1" type="text" value="{!diem1Val}"/>
</td>
</tr>
<tr>
<td/>
<td>Điểm 2</td>
<td>
<input id="Diem2" type="text" value="{!diem2Val}"/>
</td>
</tr>
<tr>
<td/>
<td>Điểm 3</td>
<td>
<input id="Diem3" type="text" value="{!diem3Val}"/>
</td>
</tr>
<tr>
<td/>
<td>Lớp</td>
<td>
<select id="Lop"/>
</td>
</tr>
<tr/><tr/>
<tr>
<td/><td/>
<td>
<button id="ThemMoi" type="button">Thêm mới</button>
</td>
</tr>
</table>
</apex:page>
这是我的控制器 Apex 代码:
public class ThemMoiController {
public string hoVal { get; set; }
public string tenVal { get; set; }
public boolean gioitinhVal { get; set; }
public date ngaysinhVal { get; set; }
public double diem1Val { get; set; }
public double diem2Val { get; set; }
public double diem3Val { get; set; }
public void doInsert(){
HOCSINH__c hs = new HOCSINH__c();
hs.HO__c = hoVal;
}
}
非常感谢您的帮助。
-> 使用 getter setter 创建新的 sobject 变量并在构造函数中初始化此变量。
-> 然后在 vf 中使用这个 sobject 变量来输入来自用户的字段值。
-> 更新 doInsert 方法以创建新记录。
Apex 控制器:
public class ThemMoiController {
public string hoVal { get; set; }
public string tenVal { get; set; }
public boolean gioitinhVal { get; set; }
public date ngaysinhVal { get; set; }
public double diem1Val { get; set; }
public double diem2Val { get; set; }
public double diem3Val { get; set; }
public HOCSINH__c hs { get; set; }
public ThemMoiController(){
hs = new HOCSINH__c();
}
public void doInsert(){
insert hs;
system.debug('---->'+hs);
}
}
VF 页面:
<apex:page docType="html-5.0" controller="ThemMoiController">
<!-- CSS -->
<style>
table{
border:1px solid black;
}
td{
text-align: middle
}
#NgaySinh, #ThemMoi{
box-sizing: border-box;
min-width: 10px;
max-width: 100%;
width: 100%;
}
</style>
<apex:form>
<!-- HTML -->
<table>
<tr>
<td>
<u>Quay lại</u>
</td>
</tr>
<tr>
<td>name</td>
<td>
<apex:inputField value="{!hs.name}"/>
</td>
</tr>
<tr>
<td>Họ</td>
<td>
<apex:inputField id="Ho" value="{!hs.HO__c}"/>
</td>
</tr>
<tr>
<td>
<apex:commandButton action="{!doInsert}" value="Thêm mới" />
</td>
</tr>
</table>
</apex:form>
</apex:page>
-> 当我们点击 'Thêm mới' 按钮时,将在 HOCSINH__c 对象中创建一条新记录。
您可以创建一个变量,它将成为 lop 对象的列表。
然后在构造函数中使用 soql 查询获取要在 select 下拉列表中显示的 lop 对象的所有记录,并将 soql 查询的结果分配给上述变量,即 lop sobject 列表。
然后创建 getter 方法,如下所述,该方法将 return select 选项列表 class。将下拉值放入 lop 变量列表中的 selectOption 变量列表中。
public List<SelectOption> getItems() {
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('US','US'));
options.add(new SelectOption('CANADA','Canada'));
options.add(new SelectOption('MEXICO','Mexico'));
return options;
}
使用以下代码在 VF 页面上实现 select 功能。
<apex:form>
<apex:selectList value="{!variableToStoreSelectedValue}" multiselect="true">
<apex:selectOptions value="{!items}"/>
</apex:selectList><p/>
</apex:form>
转到文档 link 了解更多详细信息:https://developer.salesforce.com/docs/atlas.en-us.234.0.pages.meta/pages/pages_compref_selectList.htm