In Some time we want to freeze or read only for current active records.Here am showing hoe to freeze multiple records at one shot.
Example:
Write Following Code In form Design Button Click
---------------------------------------------
void clicked()
{
ProductInform productInform1,productInform2;
Container con,conrec;
int i ;
;
productInform2 = ProductInform_DS.getFirst();
productInform1 = ProductInform_DS.getFirst();
i = 1;
for(productInform1 = ProductInform_DS.getFirst(true) ? ProductInform_DS.getFirst(true) : ProductInform_DS.cursor() ;
productInform1; productInform1 = ProductInform_DS.getNext() )
{
con = conIns(con,i,productInform1.Status);
conrec = conIns(conrec,i,productInform1.RecId);
if(conPeek(con,i) != 0)
{
throw error("You are not selected Open Order");
}
i++;
}
ttsbegin;
if(i == 2)
{
select forupdate productInform1 where productInform1.RecId == productInform2.RecId;
if(productInform1)
{
productInform1.Status = statusIdea::Posted;
productInform1.Permissions = permissions::No;
productInform1.update();
}
ProductInform_DS.reread();
ProductInform_DS.refresh();
ProductInform_DS.active();
}
else
{
for(productInform2 = ProductInform_Ds.getFirst(1) ? ProductInform_DS.getFirst(1) : productInform2 ;productInform2; productInform2 = ProductInform_DS.getNext())
{
select forupdate productInform1 where productInform1.RecId == productInform2.recId;
if(productInform)
{
productInform1.Status = StatusIdea::Posted;
productInform1.Permissions = permissions::No;
productInform1.update();
}
}
ProductInform_DS.research(true);
}
ttscommit;
super();
}
----------------------------------------------------------------
Write Following Code In Form DataSource Active Method
------------------------------------------------------------
public int active()
{
int ret;
;
ret = super();
if(ProductInform.Permissions == permissions::No)
{
ProductInform_DS.allowEdit(false);
Button.enabled(false);
}
else
{
ProductInform_DS.allowEdit(true);
Button.enabled(true);
}
return ret;
}
Example:
Write Following Code In form Design Button Click
---------------------------------------------
void clicked()
{
ProductInform productInform1,productInform2;
Container con,conrec;
int i ;
;
productInform2 = ProductInform_DS.getFirst();
productInform1 = ProductInform_DS.getFirst();
i = 1;
for(productInform1 = ProductInform_DS.getFirst(true) ? ProductInform_DS.getFirst(true) : ProductInform_DS.cursor() ;
productInform1; productInform1 = ProductInform_DS.getNext() )
{
con = conIns(con,i,productInform1.Status);
conrec = conIns(conrec,i,productInform1.RecId);
if(conPeek(con,i) != 0)
{
throw error("You are not selected Open Order");
}
i++;
}
ttsbegin;
if(i == 2)
{
select forupdate productInform1 where productInform1.RecId == productInform2.RecId;
if(productInform1)
{
productInform1.Status = statusIdea::Posted;
productInform1.Permissions = permissions::No;
productInform1.update();
}
ProductInform_DS.reread();
ProductInform_DS.refresh();
ProductInform_DS.active();
}
else
{
for(productInform2 = ProductInform_Ds.getFirst(1) ? ProductInform_DS.getFirst(1) : productInform2 ;productInform2; productInform2 = ProductInform_DS.getNext())
{
select forupdate productInform1 where productInform1.RecId == productInform2.recId;
if(productInform)
{
productInform1.Status = StatusIdea::Posted;
productInform1.Permissions = permissions::No;
productInform1.update();
}
}
ProductInform_DS.research(true);
}
ttscommit;
super();
}
----------------------------------------------------------------
Write Following Code In Form DataSource Active Method
------------------------------------------------------------
public int active()
{
int ret;
;
ret = super();
if(ProductInform.Permissions == permissions::No)
{
ProductInform_DS.allowEdit(false);
Button.enabled(false);
}
else
{
ProductInform_DS.allowEdit(true);
Button.enabled(true);
}
return ret;
}
No comments:
Post a Comment