Salesforce简单增删改查页面(一)

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('%');
    }


}

在这里插入图片描述

  • 接着创建page
<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表单。
希望这些简单的知识可以帮到你 , 如有不懂得或者是本人写的有错误的可以留言哟
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我头发乱了伢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值