Salesforce简单增删改查页面
- 首先 , 创建一个
Apex Class
在这里我们就新建一个狗对象?
- 结果我们为"狗对象"添加一些字段
- 创建好了之后 , 我们打开编译器
创建DogController.cls
代码如下:
public with sharing class DogController {
public List<Dog__c> dogList{get ; set;}
public List<SelectOption> dogType = new List<SelectOption>();
public Dog__c dog{get ; set;}//狗对象
public String dogName{get ; set ;}//狗名字
public String dogBreed{get ; set ;}//狗品种
public Boolean dogSex{get ; set ;}//狗性别
public Decimal godAge{get ; set ;}//狗年龄
//public String dogDescribe{get ; set ;}
public DogController(){
dogList = new List<Dog__c>();
refreshData();
}
public List<selectOption> getTypeNames(){
dogType.clear();
dogType.add(new SelectOption('狗子','狗子'));
return dogType;
}
//刷新数据作用
public void refreshData(){
Boolean dogSex = true ;
String dogQueryString = 'SELECT dogSex__c,'+'dogName__c,dogAge__c,dogBreed__c'+
' FROM Dog__c where IsDeleted = false limit 50' ;
dogList = Database.query(dogQueryString) ;
}
public void save(){
try{
upsert dogList;
} catch (DmlException e){
// ApexPages.addMessage(e);
}
}
public void deleteDog(){
Id id = ApexPages.currentPage().getParameters().get('dogId');
refreshData();
}
public void add(){
if(dogList == null){
dogList = new List<Dog__c>();
}
Dog__c dog2 = new Dog__c();
System.debug('----------dogList---------'+dogList);
if (dogList.size() == 0) {
dogList.add(dog2);
} else {
dogList.add(0 , dog2);
}
}
public void query(){
String dogSql = 'SELECT DogName__c,'+'DogAge__c,DogSex__c,DogBreed__c,'
+ ' FROM Dog__c WHERE IdDeleted = false';
if (dogName.length() > 0) {
dogName = '%'+dogName+'%';
dogSql += 'and DogName__c like : dogName';
}
if (dogBreed.length() > 0) {
dogBreed = '%'+dogBreed+'%';
dogSql += 'and DogBreed__c like : dogBreed';
}
dogSql+= 'limit 50';
dogList = Database.query(dogSql);
// dogName = dogName.remove('%');
//dogDescribe = dogDescribe.remove('%');
//dogType = dogType.remove('%');
}
}
<apex:page controller="DogController" showHeader="false">
<apex:message/>
<apex:form>
<apex:pageBlock title="Dog">
<apex:pageBlockSection title="query dog">
<apex:inputText value="{!dogName}" tabindex="4" label="dogName" id="dogName" />
<apex:selectList multiselect="false" size="1" value="{!dogBreed}" label="dogBreed:">
<apex:selectOptions value="{!typeNames}"></apex:selectOptions>
</apex:selectList>
<apex:inputText value="{!dogSex}" tabindex="5" label="dogSex" />
<apex:commandButton value="query" action="{!query}" />
</apex:pageBlockSection>
<apex:pageBlockTable value="{!dogList}" var="dog" id="resultDog">
<apex:column headerValue="dogName">
<apex:inputField value="{!dog.dogName__c}" />
</apex:column>
<apex:column headerValue="dogBreed">
<apex:inputField value="{!dog.dogBreed__c}" />
</apex:column>
</apex:column>-->
<apex:column headerValue="dogSex">
<apex:inputField value="{!dog.dogSex__c}" />
</apex:column>
<apex:column headerValue="delete?">
<apex:commandLink value="delete" action="{!deleteDog}">
<apex:param name="dogId" value="{!dog.Id}"></apex:param>
</apex:commandLink>
</apex:column>
</apex:pageBlockTable>
<apex:pageBlockSection>
<apex:commandButton value="add" action="{!add}" />
<apex:commandButton value="save" action="{!save}" />
</apex:pageBlockSection>
<apex:pageMessages />
</apex:pageBlock>
</apex:form>
</apex:page>
- 接着提交写好的代码
选择四个Dog对象
- 在开发者控制台打开我们刚才提交的代码
- 点击
Preview
会出现下列界面
好了 , 操作完了你看会了嘛 ? 那自己写一下呗
VF每个页面都是以<apex:page>标签起始</apex:page>结束
<apex:inputText>:输入框,类似于HTML中的<input type="text"/>,绑定的value类型可以为任意类型;
<apex:inputFile>:输入框,类似于HTML中的<input type="text"/>,区别上者为value类型必须是sObject类型;
<apex:commandButton>:按钮,类似于<input type="button"/>;
<apex:selectList>:下拉框,类似于html中的<select>;
<apex:selectOptions>:下拉框下元素,类似于html中的<option>;
<apex:pageBlockTable>:表格元素,类似于html中的table。用法与jstl类似,可以指定items属性绑定列表,var属性指定变量;
<apex:column>:表格的列元素,用于显示表格每一列的值;
<apex:commandLink>:链接,类似于html中的<a>标签;
<apex:param>:参数传递使用,用于给Controller层传递参数,传递的参数通过键值对传递;
<apex:form>:表单元素,类似于html中的form表单。
希望这些简单的知识可以帮到你 , 如有不懂得或者是本人写的有错误的可以留言哟