CodeCharge Studio |
All ASP PHP Perl ColdFusion Java C#.NET VB.NET |
This example shows how to create a column with a calculated value in a Grid. In this case, we have a Grid called Tasks which has the fields task_name, estimated_time and expended_time. We shall add a new field called task_percent which will contain the calculated value.
Function Tasks_BeforeShowRow(Sender) If Tasks.Estimated_Time.Value > 0 Then Tasks.Task_Percent.Value = (Tasks.Expended_Time.Value*100)/Tasks.Estimated_Time.Value Else Tasks.Task_Percent.Value = 0 End if End Function
function Tasks_BeforeShowRow(& $sender) {
global$Tasks;
if($Tasks->Estimated_Time->GetValue() > 0){
$Tasks->Task_Percent->SetValue( ($Tasks->Expended_Time->GetValue()*100)/$Tasks->Estimated_Time->GetValue());
} else{
$Tasks->Task_Percent->SetValue(0);
}
}sub Tasks_BeforeShowRow() {
if ($Tasks->{Estimated_Time}->GetValue() > 0) {
$Tasks->{Task_Percent}->SetValue( ($Tasks->{Expended_Time}->GetValue()*100)/$Tasks->{Estimated_Time}->GetValue());
} else {
$Tasks->{Task_Percent}->SetValue(0);
}
}<!---Tasks_BeforeShowRow ---> <CFIF fldEstimated_Time GT 0> <CFSET fldTask_Percent=(fldExpended_Time*100)/fldEstimated_Time> <CFELSE> <CFSET fldTask_Percent=0> </CFIF>
'Tasks_BeforeShowRow
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim TasksTask_Percent As System.Web.UI.WebControls.Literal = DirectCast(e.Item.FindControl("TasksTask_Percent"),System.Web.UI.WebControls.Literal)
If DataItem.Estimated_Time.Value > 0 Then
TasksTask_Percent.Text = ((DataItem.Expended_Time.Value*100)/DataItem.Estimated_Time.Value).ToString()
Else
TasksTask_Percent.Text = "0"
End if
End If
//Tasks_BeforeShowRow
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
System.Web.UI.WebControls.Literal TasksTask_Percent = (System.Web.UI.WebControls.Literal)e.Item.FindControl("TasksTask_Percent");
if ((Double)DataItem.Estimated_Time.Value > 0) {
TasksTask_Percent.Text = (((Double)DataItem.Expended_Time.Value*100)/(Double)DataItem.Estimated_Time.Value).ToString();
} else {
TasksTask_Percent.Text = "0";
}
}
//Tasks_BeforeShowRow
if(e.getGrid().getControl("Estimated_Time").getValue() != null &&
Utils.convertToDouble(e.getGrid().getControl("Estimated_Time").getValue()).doubleValue()>0 ){
e.getGrid().getControl("Task_Percent").setValue(
(Utils.convertToDouble(e.getGrid().getControl("Expended_Time").getValue()).doubleValue()*100)/Utils.convertToDouble(e.getGrid().getControl("Estimated_Time").getValue()).doubleValue());
} else {
e.getGrid().getControl("Task_Percent").setValue(0);
}