Welcome to CodeGlobe. CodeGlobe provides free source code, tutorials and latest useful technology news.
Sunday, April 15, 2012
Extending a Javascript function without affecting the original function defenition.
Here is a useful way to do this without affecting the original function defenition.
example;
function originalFunction(arg1,arg2,arg3)
{
alert(arg1 + arg2 + arg3);
}
var temp=originalFunction;
originalFunction=function(){
//precode.
alert("this is precode.");
//calling originalFunction
temp.apply({},arguments);
//postcode
alert("this is postcode.");
}
You can call this as
originalFunction(1,2,3);
hope this helps...
Thursday, October 15, 2009
HTML Form elements array
Array is a collection of similar data elements, means we can use array to store similar elements referenced under a common name.
In web development sometimes we need to group HTML form elements as arrays do. For example, you have a form where user has to select his hobbies from a group of check boxes as given below.
Sample Code
<form action="showlist.php" method="post" name="hobby_frm"> <h3> Select your hobbies </h3> <input type="checkbox" name="hobbies[]" value="hb1" /> Reading <br /> <input type="checkbox" name="hobbies[]" value="hb2" /> Surfing <br /> <input type="checkbox" name="hobbies[]" value="hb3" /> Listening to music <br /> <input type="submit" value="submit" /> </form>Please notice the name of all checkboxes hobbies[]
The above code will define an array with the name hobbies
Accessing form elements array using JavaScript
Now, let's see how to access the hobbies[] using JavaScript.
<script type="text/javascript"> var hobbies = document.hobby_frm.elements['hobbies[]']; var str = "Length : "+hobbies.length+"\n"; for( var i = 0; i < hobbies.length; i++ ) { str = str + "Hobby "+(i+1)+" : "+hobbies[i].value+"\n"; } alert(str); </script>Handle form elements array in PHP
In PHP, data sent from a form with post method is available in $_POST array.
We can access hobbies[] using the following code.
<?php
$hobbies = $_POST['hobbies']; // use name of the array as key
foreach( $hobbies as $value )
print $value;
?>courtesey webdevelopment hosting company cochin kerala
Monday, April 20, 2009
Aptna Studio
Download Aptana Studio 1.2.6
Inlcudes Aptana Cloud & Jaxer. Add support for PHP, Ruby, Rails, Python, iPhone and Adobe AIR after installation.
Since Aptana Studio is based on Eclipse, I can take advantage of the vast number of Eclipse plugins like Mylyn, the Bazaar plugin, GotoFile, QuantumDB, SQL Explorer, etc...Download
Ext JS 2.0
Ext JS is a cross-browser JavaScript library for building rich internet applications.
- High performance, customizable UI widgets
- Well designed, documented and extensible Component model
- Commercial and Open Source licenses available
Wednesday, April 15, 2009
Creating Gantt Chart in ASP.NET
Gantt Chart in asp.net
A Gantt chart(wiki link) is a type of bar chart that illustrates a project schedule. Gantt charts illustrate the starting and finishing dates of terminal elements and summary elements of a project. Terminal elements and summary elements comprise the work breakdown structure of the project. Some Gantt charts also show the dependency (i.e, precedence network) relationships between activities.
We here use jsgantt(Its a free JavaScript library for creating Gantt chart) to create Gantt chart having following features .It’s implemented using JavaScript, HTML, CSS and thus very fast and flexible. Since it is pure HTML/JavaScript you can integrate this with any server side scripting language.
Basic Features
* Tasks & Collapsible Task Groups
* Multiple Dependencies
* Task Completion
* Task Color
* Milestones
* Resources
* No images needed
* Free [released under BSD license]
Advanced Features
* Dynamic Loading of Tasks
* Dynamic change of format (day/week/month)
* Load Gantt from XML file
Disadvantage
Currently only one Gantt chart is allowed per page.
You can download jsGantt from http://code.google.com/p/jsgantt/
There are many ways to integrate gantt chart programmatically, here we explain one of the method which using external data exchange between asp.net and JavaScript using XML file that are generated at run time using values from the SQL Server Database.
Sample xml file Structure that used by jsgantt. Is as follows
<project>
<task>
<pID>10</pID>
<pName>WCF Changes</pName>
<pStart></pStart>
<pEnd></pEnd>
<pColor>0000ff</pColor>
<pLink></pLink>
<pMile>0</pMile>
<pRes></pRes>
<pComp>0</pComp>
<pGroup>1</pGroup>
<pParent>0</pParent>
<pOpen>1</pOpen>
<pDepend />
</task>
<task>
<pID>20</pID>
<pName>Move to WCF from remoting</pName>
<pStart>
<pEnd>
<pColor>0000ff</pColor>
<pLink></pLink>
<pMile>0</pMile>
<pRes>Rich</pRes>
<pComp>10</pComp>
<pGroup>0</pGroup>
<pParent>10</pParent>
<pOpen>1</pOpen>
<pDepend></pDepend>
</task>
</project>
XML tags in our External XML file have following tags and values. Here we describe the purpose of each tag:
pID: (required) is a unique ID used to identify each row for parent functions and for setting dom id for hiding/showing
pName: (required) is the task Label
pStart: (required) the task start date, can enter empty date ('') for groups
pEnd: (required) the task end date, can enter empty date ('') for groups
pColor: (required) the html color for this task; e.g. '00ff00'
pLink: (optional) any http link navigated to when task bar is clicked.
pMile:(optional) represent a milestone
pRes: (optional) resource name
pComp: (required) completion percent
pGroup: (optional) indicates whether this is a group(parent) - 0=NOT Parent; 1=IS Parent
pParent: (required) identifies a parent pID, this causes this task to be a child of identified task
pOpen: can be initially set to close folder when chart is first drawn
pDepend: optional list of id's this task is dependent on ... line drawn from dependent to this item
pCaption: optional caption that will be added after task bar if Caption Type set to "Caption"
Creating Database Schema in Sql Server
Create database named Projects in SQL Server
Tables
project
Column Name --------------------------------Data Type
projectid-----------------------------------------Int(PK)
projectname-------------------------------------Varchar(50)
startdate-----------------------------------------Datetime
enddate------------------------------------------Datetime
tasks
Column Name---------------------------------- Data Type
taskid-------------------------------------------Int((PK)
projectid----------------------------------------Int(FK)
taskname---------------------------------------Varchar(50)
startdate----------------------------------------Datetime
enddate---------------------------------------- Datetime
percentagecompleted---------------------------Int
parenttask--------------------------------------Int
Sample data
project
projectid----------------------name------------------ startdate-------------- enddate
1---------------------------Search Engine-----------04/03/2009 -----------04/30/2009
Task
projectid name startdate enddate percentagecompleted parenttask
1--------------Analysis-----
2--------------Design-------
3--------------Code--------
4--------------Test ---------
5------------- Test2--------
*Tasks Date is in mm/dd/yyyy format
Using Gantt Chart in your ASP.NET Application
Create a website project in ASP.NET in Visual Studio.
Add an XML file named Tasks.xml to project
UnCompress Copy paste jsgantt directory you downloaded from jsGantt Website http://code.google.com/p/jsgantt/ to your project
Add dropdownlist control to Default.aspx to fill projects and to select name it cmbproject
Edit .aspx page’s HTML do following step
1. Include JSGantt CSS and Javascript
Add this just before the </head> tag
<link rel="stylesheet" type="text/css" href="jsgantt.css" /><script language="javascript" src="jsgantt.js"></script> 2. Create a div element to hold the Gantt chart
In your html body
<div style="position:relative" class="gantt" id="GanttChartDIV"></div> - Add This script to html body
<script>
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');//Here intantiating chart control
g.setShowRes(1); // Show/Hide Responsible (0/1)
g.setShowDur(0); // Show/Hide Duration (0/1)
g.setShowComp(1); // Show/Hide % Complete(0/1)
//g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
if( g ) {
// You can also use the XML file parser
JSGantt.parseXML('Tasks.xml',g)//Read data from Tasks.xml
g.Draw();
g.DrawDependencies();
}
else
{
alert("not defined");
}
</script>
ASP.NET CODE
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link rel="stylesheet" type="text/css" href="jsgantt/jsgantt.css"/>
<script language="javascript" src="jsgantt/jsgantt.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 384px">
<tr>
<td style="width: 185px">
</td>
<td style="width: 167px">
</td>
<td style="width: 65px">
</td>
</tr>
<tr>
<td style="width: 185px; height: 24px;">
</td>
<td style="width: 167px; height: 24px;">
<asp:DropDownList ID="cmbproject" runat="server" AutoPostBack="True" OnSelectedIndexChanged="cmbproject_SelectedIndexChanged"
Width="165px">
</asp:DropDownList></td>
<td style="width: 65px; height: 24px;">
</td>
</tr>
<tr>
<td style="width: 185px">
</td>
<td style="width: 167px">
</td>
<td style="width: 65px">
</td>
</tr>
</table>
</div>
<div style="position:relative" class="gantt" id="GanttChartDIV">
</div>
<script>
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
g.setShowRes(1); // Show/Hide Responsible (0/1)
g.setShowDur(0); // Show/Hide Duration (0/1)
g.setShowComp(1); // Show/Hide % Complete(0/1)
//g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
if( g ) {
// You can also use the XML file parser
JSGantt.parseXML('Tasks.xml',g)//Read data from Tasks.xml
g.Draw();
g.DrawDependencies();
}
else
{
alert("not defined");
}
</script>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Xml;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//Fill dropdownlist with all projects names
SqlConnection mcon = new SqlConnection("Data Source=CYBERMIND\\SQLEXPRESS;Database=Projects;Trusted_Connection=True"); //Cahnge Connection string of your SQL Server Here
mcon.Open();
cmbproject.Items.Clear();
SqlCommand GetProjectName = new SqlCommand("select projectid,name from project", mcon);
SqlDataReader ReadPrjName;
ReadPrjName = GetProjectName.ExecuteReader();
cmbproject.Items.Add("--------Select-----");
while (ReadPrjName.Read())
{
ListItem LIT = new ListItem();
LIT.Text = ReadPrjName.GetValue(1).ToString();//Add Project name as dropdownlists Text
LIT.Value = ReadPrjName.GetValue(0).ToString();//Add Projectid as dropdownlists Value
cmbproject.Items.Add(LIT);
}
ReadPrjName.Close();
mcon.Close();
}
}
protected void cmbproject_SelectedIndexChanged(object sender, EventArgs e)
{
string projectid = "";
SqlConnection mcon = new SqlConnection("Data Source=CYBERMIND\\SQLEXPRESS;Database=Projects;Trusted_Connection=True");
mcon.Open();
//Creating data of ou Task.xml programatically
XmlTextWriter xwriter = new XmlTextWriter(Server.MapPath("Tasks.xml"), null); //Creating a Xml Text writer
xwriter.Formatting = Formatting.Indented;// Setting indendation in xml file
xwriter.Indentation = 4;// Indentation space is 4 here
SqlCommand mmcmd = new SqlCommand("select projectid,name,convert(varchar(10),startdate,101),convert(varchar(10),enddate,101) from project where projectid =" + cmbproject.SelectedItem.Value + "", mcon);
SqlDataReader projectReader = mmcmd.ExecuteReader();
xwriter.WriteStartElement("project");
while (projectReader.Read())
{
projectid = projectReader.GetValue(0).ToString();
xwriter.WriteStartElement("task");
xwriter.WriteStartElement("pID"); // WriteStartElement writes a tag
xwriter.WriteString(projectReader.GetValue(0).ToString()); // WriteString writes strin to xml file
xwriter.WriteEndElement();// WriteStartElement writes a end tag
xwriter.WriteStartElement("pName");
xwriter.WriteString(projectReader.GetValue(1).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pStart");
xwriter.WriteString(projectReader.GetValue(2).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pEnd");
xwriter.WriteString(projectReader.GetValue(3).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pParent");
xwriter.WriteString("0");
xwriter.WriteEndElement();
xwriter.WriteEndElement();
}
//End of Project Details Read and Write to XML
mcon.Close();
SqlConnection mcon2 = new SqlConnection("Data Source=CYBERMIND\\SQLEXPRESS;Database=Projects;Trusted_Connection=True");
mcon2.Open();
string str = "select taskid,taskname,convert(varchar(10),startdate,101),convert(varchar(10),enddate,101), percentagecompleted from Task where projectid =" + cmbproject.SelectedItem.Value + " ";
SqlCommand mcmd = new SqlCommand(str, mcon2);
SqlDataReader reader = mcmd.ExecuteReader();
//Start to read and write Tasks to Xml file
while (reader.Read())
{
xwriter.WriteStartElement("task");
xwriter.WriteStartElement("pID");
xwriter.WriteString(reader.GetValue(0).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pName");
xwriter.WriteString(reader.GetValue(1).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pStart");
xwriter.WriteString(reader.GetValue(2).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pEnd");
xwriter.WriteString(reader.GetValue(3).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pColor");// Sets chart task bar color to blue
xwriter.WriteString("ff00ff");
xwriter.WriteEndElement();
xwriter.WriteStartElement("pComp");
xwriter.WriteString(reader.GetValue(4).ToString());
xwriter.WriteEndElement();
xwriter.WriteStartElement("pParent");
xwriter.WriteString(projectid);
xwriter.WriteEndElement();
xwriter.WriteEndElement();
}
xwriter.WriteEndElement();
//Start to read and write Tasks to Xml file
xwriter.Flush();
xwriter.Close(); //Close XML File
mcon2.Close();
}
}
php object array to javascript array
'php_object_array' is the object array
each object has the values 'php_name' and 'php_id'.
'js_name' and 'js_id' are the javascript array corresponding to the objects values