ADF11g-014:ADF中Create CreateInsert CreateWithParams的区别

先用代码来描述一下使用不同的Operation在创建一行记录时的情景

1.Create

// create a new row for the view object
Row newRow = yourViewObject.createRow();
// mark the row as being "initialized", but not yet new
newRow.setNewRowState(Row.STATUS_INITIALIZED);

提交时才执行insert操作


2.CreateInsert

在Create的基础上,再多执行了如下代码

// insert the new row into the view object's default rowset
yourViewObject.insertRow(newRow);

3.CreateWithParams

在CreateInsert的基础上再执行以下代码,给新创建的行设置默认值

newRow.setAttribute("attributeName", attibuteValue);
同时,Row的状态由Row.STATUS_INITIALIZED变为Row.STATUS_NEW

由此我们想到,在创建新行时界面上表现的两种常用方式:form和table,form是直接绑定了新创建的Row,而table则是绑定了一个集合,所以在table中创建行时,只能使用CreateInsert,而在form中既可以使用Create,也可以使用CreateInsert。


你可能感兴趣的:(object,table,insert)