modalpopup

June 23, 2009

task.aspx

<%@ Page Language=”VB” AutoEventWireup=”false” CodeFile=”taskdetails.aspx.vb” Inherits=”test_taskdetails” %>

<%@ Register Src=”task_Adder.ascx” TagName=”task_Adder” TagPrefix=”uc1″ %>
<%@ Register Src=”task_editor.ascx” TagName=”task_editor” TagPrefix=”uc2″ %>

<%@ Register Assembly=”AjaxControlToolkit” Namespace=”AjaxControlToolkit” TagPrefix=”cc1″ %>

<%@ Register TagPrefix=”Usercontrols” TagName=”Header” src=”~/Usercontrols/Header.ascx” %>
<%@ Register TagPrefix=”Usercontrols” TagName=”Footer” Src=”~/Usercontrols/footer.ascx” %>
<%@ Register TagPrefix=”Usercontrols” TagName=”Mgr1″ Src=”~/Usercontrols/Mgr1.ascx” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;

<html xmlns=”http://www.w3.org/1999/xhtml&#8221; >
<head runat=”server”>
<title>Untitled Page</title>
<style>
.modalBackground
{
background-color:Gray;
filter:alpha(opacity=70);
opacity:0.7;
}
</style>

<link href=”/styles/styles.css” rel=”stylesheet” type=”text/css” />
<script type =”text/javascript” >

</script>

</head>
<body>
<form id=”form1″ runat=”server”>
<asp:ScriptManager ID=”ScriptManager1″ runat=”server”>
</asp:ScriptManager>
<div>

<table align=”center” border=”0″ cellpadding=”0″ cellspacing=”0″  width=”950″ >
<tr>
<td colspan=”1″>
<usercontrols:header id=”newageheader” runat=”server”></usercontrols:header>
</td>
</tr>
<tr>
<td align=”left” colspan=”1″ valign=”top”>
</td>
</tr>

<tr>
<td valign=”top”>
<table  cellpadding=”0″ cellspacing=”0″ align=”left” >
<tr>
<td colspan=”5″>
<table align=”left”  cellpadding=”0″ cellspacing=”0″>
<tr>
<td align=”right” colspan=”3″ valign=”top”>  <Usercontrols:Mgr1 ID=”mgrheader” runat=”server” />

</td>
</tr>
<tr>
<td colspan=”3″ valign=”top”>
<asp:Button ID=”AddButton” runat=”server” Text=”Add New Task”
onclick=”AddButton_Click” Font-Names=”Verdana” Font-Size=”8pt” /></td>
</tr>

<tr>
<td colspan=”3″ valign=”top”>
&nbsp;</td>
</tr>
<tr>
<td colspan=”3″ align=”center” valign=”top”>
<asp:UpdatePanel ID=”UpdatePanel3″ runat=”server”><Triggers >
<asp:AsyncPostBackTrigger ControlID=”Task_Adder1″ EventName=”AddButtonClick” />
<asp:AsyncPostBackTrigger ControlID=”Task_editor1″ EventName=”SaveButtonClick” />
<asp:AsyncPostBackTrigger ControlID=”Task_editor1″ EventName=”DeleteButtonClick” />
</Triggers>
<ContentTemplate >

<asp:GridView ID=”gvStudents” runat=”server” AutoGenerateColumns=”False” AllowSorting=”true”    DataKeyNames=”task_id” OnSelectedIndexChanging=”gvStudents_SelectedIndexChanging” BorderColor=”LightGray” BorderStyle=”Solid” BorderWidth=”1px” CellPadding=”3″ Font-Names=”Verdana” Font-Size=”8pt” OnSelectedIndexChanged=”gvStudents_SelectedIndexChanged” >
<Columns>
<asp:BoundField DataField=”task_id” HeaderText=”Task ID” SortExpression=”task_id” Visible=”False”   />
<asp:BoundField DataField=”milestone_id” HeaderText=”Milestone ID” SortExpression=”milestone_id”  Visible=”False”/>
<asp:BoundField DataField=”task_name” HeaderText=”Task Name” SortExpression=”task_name” />
<asp:BoundField DataField=”start_date” HeaderText=”Start date” SortExpression=”start_date” />
<asp:BoundField DataField=”end_date” HeaderText=”End date” SortExpression=”end_date” />
<asp:BoundField DataField=”status” HeaderText=”Status” SortExpression=”status” />
<asp:BoundField DataField=”assign_to” HeaderText=”Assign To” SortExpression=”assign_to” />
<asp:BoundField DataField=”priority” HeaderText=”Priority” SortExpression=”priority” />

<asp:CommandField SelectText=”QuickEdit” ShowSelectButton=”True” />

</Columns>
<HeaderStyle HorizontalAlign=”Left” BackColor=”#E0E0E0″ ForeColor=”Black” />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

</td>

</tr>

<tr>
<td colspan=”3″ align=”center” valign=”top”>
<%– adding area –%>
<cc1:ModalPopupExtender ID=”AddPopupExtender” BackgroundCssClass=”modalBackground” runat=”server” PopupControlID=”AddPanel”
CancelControlID=”AddCancelButton” TargetControlID=”AddButton”>
</cc1:ModalPopupExtender>
<asp:Panel ID=”AddPanel” runat=”server” BorderColor=”Olive” BorderStyle=”Solid” BorderWidth=”2px”>
<div style=”background-color: #ffffff” align=”right”>
<uc1:task_Adder ID=”Task_Adder1″ runat=”server”  />
<asp:Button ID=”AddCancelButton” runat=”server” Text=”Close” Font-Names=”Verdana” Font-Size=”8pt” />
</div>
</asp:Panel>

</td>
</tr>
<tr>
<td align=”center” colspan=”3″ valign=”top”>
<%– editing area –%>
<asp:Button ID=”DummyButton” Style=”display: none” Text=”A dummy button” runat=”server” Font-Names=”Verdana” Font-Size=”8pt” />
<cc1:ModalPopupExtender ID=”EditPopupExtender” BackgroundCssClass=”modalBackground” runat=”server” PopupControlID=”EditPanel” CancelControlID=”EditCancelButton” TargetControlID=”DummyButton”>
</cc1:ModalPopupExtender>

<asp:Panel ID=”EditPanel” runat=”server” BorderColor=”Olive” BorderStyle=”Solid” BorderWidth=”2px”  >
<div style=”background-color: #ffffff” align=”right”>
<asp:UpdatePanel ID=”UpdatePanel2″ runat=”server”>
<ContentTemplate >
<uc2:task_editor ID=”Task_editor1″ runat=”server” />
</ContentTemplate>
<Triggers >
<asp:AsyncPostBackTrigger ControlID=”gvStudents” EventName=”SelectedIndexChanging” />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID=”EditCancelButton” runat=”server” Text=”Close” Font-Names=”Verdana” Font-Size=”8pt” />
</div>
</asp:Panel>

</td>
</tr>
<tr>
<td align=”center” colspan=”3″ valign=”top”>

&nbsp;
</td>
</tr>
<tr>
<td align=”center” colspan=”3″ valign=”top”>

&nbsp;
</td>
</tr>
<tr>
<td colspan=”3″>

</td>
</tr>
<tr>
<td colspan=”3″>

</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan=”5″>
</td>
</tr>
<tr>
<td colspan=”5″>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan=”1″>
<usercontrols:footer id=”newagefooter” runat=”server”></usercontrols:footer>
</td>
</tr>
</table>

</div>
</form>
</body>
</html>

================================================================================

task.vb

Imports System
Imports System.Data
Imports System.Data.SqlClient

Partial Class test_taskdetails
Inherits System.Web.UI.Page

Public SessProjId As String
Public sessloginid As String
Public sessusertype As String

Public sortimg As String

Private Const ASCENDING As String = ” ASC”
Private Const DESCENDING As String = ” DESC”

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddHandler Task_Adder1.AddButtonClick, AddressOf Task_Adder1_AddButtonClick

AddHandler Task_editor1.SaveButtonClick, AddressOf Task_editor1_SaveButtonClick

AddHandler Task_editor1.DeleteButtonClick, AddressOf Task_editor1_DeleteButtonClick

If (System.Convert.ToString(Session(“SessUserType”)) = “mg”) AndAlso (System.Convert.ToString(Session(“sessloginid”)) <> “”) Then
sessloginid = System.Convert.ToString(Session(“sessloginid”))
sessusertype = System.Convert.ToString(Session(“SessUserType”))
SessProjId = System.Convert.ToString(Session(“SessProjId”))
Else
Response.Redirect(“~/Login.aspx”)
End If

If Not Page.IsPostBack Then

bind_data1()

End If
End Sub
Sub bind_data1()

If GetDataSet.Tables(“sprint_tasks”).Rows.Count <> 0 Then
gvStudents.DataSource = GetDataSet().Tables(0)
gvStudents.DataBind()
End If

End Sub

Private Sub Task_editor1_DeleteButtonClick(ByVal sender As Object, ByVal e As EventArgs)
bind_data1()
EditPopupExtender.Hide()
End Sub

Private Sub Task_editor1_SaveButtonClick(ByVal sender As Object, ByVal e As EventArgs)
bind_data1()
EditPopupExtender.Hide()
End Sub

Private Sub Task_Adder1_AddButtonClick(ByVal sender As Object, ByVal e As EventArgs)
bind_data1()
AddPopupExtender.Hide()

End Sub

Private Function GetDataSet() As DataSet
Dim db As New DbObject
Dim ds As DataSet
Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.Int), _
New SqlParameter(“@proj_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = “185”
parameter(1).Value = “914”

ds = db.getDataSet(“sp_sprinttasks”, parameter, “sprint_tasks”)

Return ds

End Function

Protected Sub gvStudents_SelectedIndexChanging(ByVal sender As Object, ByVal e As GridViewSelectEventArgs)
Dim task_id As Integer = CInt(gvStudents.DataKeys(e.NewSelectedIndex).Value)
Task_editor1.BindWithTaskID(task_id, “185”, “914”)
EditPopupExtender.Show()
End Sub

Protected Sub AddCancelButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AddCancelButton.Click

End Sub

Protected Sub EditCancelButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles EditCancelButton.Click

End Sub
Protected Sub AddButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles AddButton.Click
Task_Adder1.BindWithTaskID(“185”, “914”)
AddPopupExtender.Show()
End Sub

Protected Sub gvStudents_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

Protected Sub gvStudents_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles gvStudents.Sorting
Dim sortExpression As String = e.SortExpression
sortimg = sortExpression
If GridViewSortDirection = SortDirection.Ascending Then
GridViewSortDirection = SortDirection.Descending
SortGridView(sortExpression, DESCENDING)
Else
GridViewSortDirection = SortDirection.Ascending
SortGridView(sortExpression, ASCENDING)

End If
End Sub

Public Property GridViewSortDirection() As SortDirection
Get
If ViewState(“sortDirection”) Is Nothing Then
ViewState(“sortDirection”) = SortDirection.Ascending
End If

Return DirectCast(ViewState(“sortDirection”), SortDirection)
End Get
Set(ByVal value As SortDirection)
ViewState(“sortDirection”) = value
End Set
End Property

Private Sub SortGridView(ByVal sortExpression As String, ByVal direction As String)
‘  You can cache the DataTable for improving performance
Dim dt As DataTable = GetDataSet().Tables(0)

Dim dv As New DataView(dt)

dv.Sort = sortExpression + direction

gvStudents.DataSource = dv
gvStudents.DataBind()

End Sub

Protected Sub gvStudents_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvStudents.RowCreated
If Not (e.Row Is Nothing) AndAlso e.Row.RowType = DataControlRowType.Header Then

For Each cell As TableCell In e.Row.Cells
If cell.HasControls Then

Dim button As LinkButton = DirectCast(cell.Controls(0), LinkButton)
If Not (button Is Nothing) Then
Dim image As Image = New Image
Dim orderimg As String
orderimg = ViewState(“sortDirection”)

If sortimg = button.CommandArgument Then

If (orderimg = “0”) Then
image.ImageUrl = “/images/sortascending.gif”
ElseIf (orderimg = “1”) Then
image.ImageUrl = “/images/sortdescending.gif”
Else
image.ImageUrl = “/images/sortascending.gif”
End If

End If
cell.Controls.Add(image)
End If
End If
Next

End If
End Sub
End Class

===============================================

===============================================

task_adder.ascx

<%@ Control Language=”VB” AutoEventWireup=”false” CodeFile=”task_Adder.ascx.vb” Inherits=”test_taskAdder” %>
<%@ Register Assembly=”AjaxControlToolkit” Namespace=”AjaxControlToolkit” TagPrefix=”cc1″ %>
<script type=”text/javascript” >
function chk4whitespace(VARIABLE)
{
result=new RegExp(/^\s+$/);
if(result.test(VARIABLE))
{
return false;
}
return true;
}

function validate_adder()
{

if(document.getElementById(“Task_Adder1_txt_taskname”).value==””)
{
alert(“Enter Task Name.”);
document.getElementById(“Task_Adder1_txt_taskname”).focus();
return false;
}
if(!chk4whitespace(document.getElementById(“Task_Adder1_txt_taskname”).value))
{
alert(“Task Name can’t be empty.”);
document.getElementById(“Task_Adder1_txt_taskname”).select();
document.getElementById(“Task_Adder1_txt_taskname”).focus();
return false;
}
//————————

if(document.getElementById(“Task_Adder1_txt_startdate”).value==””)
{
alert(“Select date from calendar.”);
document.getElementById(“Task_Adder1_txt_startdate”).focus();
return false;
}
if(document.getElementById(“Task_Adder1_txt_startdate”).value!=””)
{
var result1=(/^(0[1-9]|[0-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/[12][90][0-9][0-9]$/.test(document.getElementById(“Task_Adder1_txt_startdate”).value));

if (result1 == false)
{
alert(“Please Select Start Date From Calendar.”);
document.getElementById(“Task_Adder1_txt_startdate”).focus();
document.getElementById(“Task_Adder1_txt_startdate”).select();
return false;
}

}
/*  if(!chk4whitespace(document.getElementById(“Task_Adder1_txt_startdate”).value))
{
alert(“Date can’t be empty.”);
document.getElementById(“Task_Adder1_txt_startdate”).select();
document.getElementById(“Task_Adder1_txt_startdate”).focus();
return false;
}*/
//————————
if(document.getElementById(“Task_Adder1_txt_enddate”).value==””)
{
alert(“Select date from calendar.”);
document.getElementById(“Task_Adder1_txt_enddate”).focus();
return false;
}
/* if(!chk4whitespace(document.getElementById(“Task_Adder1_txt_enddate”).value))
{
alert(“Date can’t be empty.”);
document.getElementById(“Task_Adder1_txt_enddate”).select();
document.getElementById(“Task_Adder1_txt_enddate”).focus();
return false;
}*/
//—————————-
if (document.getElementById(“Task_Adder1_txt_enddate”).value!=””)
{

var result2=(/^(0[1-9]|[0-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/[12][90][0-9][0-9]$/.test(document.getElementById(“Task_Adder1_txt_enddate”).value));
if (result2 == false)
{
alert(“Please Select End Date From Calendar.”);
document.getElementById(“Task_Adder1_txt_enddate”).focus();
document.getElementById(“Task_Adder1_txt_enddate”).select();
return false;
}
}
//————————
if(document.getElementById(“Task_Adder1_drp_status”).value==”Select One”)
{
alert(“Select Status.”);
document.getElementById(“Task_Adder1_drp_status”).focus();
return false;
}

//————————
if(document.getElementById(“Task_Adder1_drp_assignto”).value==”Select One”)
{
alert(“Select Assign to.”);
document.getElementById(“Task_Adder1_drp_assignto”).focus();
return false;
}
//————————
if(document.getElementById(“Task_Adder1_drp_priority”).value==”Select One”)
{
alert(“Select Priority.”);
document.getElementById(“Task_Adder1_drp_priority”).focus();
return false;
}

}
</script>
<table id=”form1″ cellpadding=”4″ cellspacing=”0″ style=”font-size: 9pt; font-family: Verdana”>
<tr>
<td align=”right” style=”width: 100px” height=”10″>
</td>
<td align=”center” style=”width: 10px” height=”10″>
</td>
<td style=”width: 100px” height=”10″>
</td>
<td style=”width: 30px” height=”10″>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<asp:TextBox ID=”txt_taskid” runat=”server” ReadOnly=”True” Visible=”False”></asp:TextBox></td>
<td align=”center” style=”width: 10px”>
</td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_milestoneid” runat=”server” ReadOnly=”True” Visible=”False”></asp:TextBox></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<strong>
Task Name</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_taskname” runat=”server”></asp:TextBox></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<strong>
Start Date</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_startdate” runat=”server”></asp:TextBox>

<cc1:calendarextender id=”CalendarExtender1″ runat=”server” format=”MM/dd/yyyy” popupbuttonid=”btnCalenderPopup”
targetcontrolid=”txt_startdate”></cc1:calendarextender>
</td>
<td style=”width: 30px”>
<asp:ImageButton ID=”btnCalenderPopup” runat=”server” CausesValidation=”False” Height=”16″
ImageUrl=”~/images/icons/cal.gif” Width=”16″ /></td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<strong>
End Date</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_enddate” runat=”server”></asp:TextBox>
<cc1:calendarextender id=”CalendarExtender2″ runat=”server” format=”MM/dd/yyyy” popupbuttonid=”btnCalenderPopup1″
targetcontrolid=”txt_enddate”></cc1:calendarextender>
</td>
<td style=”width: 30px”>
<asp:ImageButton ID=”btnCalenderPopup1″ runat=”server” CausesValidation=”False” Height=”16″
ImageUrl=”~/images/icons/cal.gif” Width=”16″ /></td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<strong>
Status</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:DropDownList ID=”drp_status” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”>
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>Started</asp:ListItem>
<asp:ListItem>Running</asp:ListItem>
<asp:ListItem>Pending</asp:ListItem>
<asp:ListItem>Completed</asp:ListItem>
</asp:DropDownList></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px; height: 21px”>
<strong>
Assign To</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px; height: 21px”>
<asp:DropDownList ID=”drp_assignto” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”>
</asp:DropDownList></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<strong>
Priority</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:DropDownList ID=”drp_priority” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”>
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>High</asp:ListItem>
<asp:ListItem>Normal</asp:ListItem>
<asp:ListItem>Low</asp:ListItem>
</asp:DropDownList></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
</td>
<td align=”center” style=”width: 10px”>
</td>
<td align=”center”>
<asp:Button ID=”AddButton” runat=”server” Text=”Add”
onclick=”AddButton_Click” BackColor=”#99CC00″ BorderColor=”#99CC00″
Font-Bold=”True” ForeColor=”White” /></td>
<td align=”center” style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”height: 15px”>
</td>
<td align=”center” style=”height: 15px”>
</td>
<td align=”center” style=”height: 15px”>
</td>
<td align=”center” style=”width: 30px”>
</td>
</tr>
</table>

=====================================================================

Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections.Generic
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Partial Class test_taskAdder
Inherits System.Web.UI.UserControl

Public Event AddButtonClick As EventHandler

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddButton.Attributes.Add(“OnClick”, “return validate_adder()”)
bind_DropDownList()
‘Reset_all()

End Sub
Sub Reset_all()
txt_taskname.Text = “”
txt_startdate.Text = Today.Date
txt_enddate.Text = Today.Date
drp_status.SelectedItem.Value = “Select One”
drp_priority.SelectedIndex = drp_priority.Items.IndexOf(drp_priority.Items.FindByText(“Normal”))

‘drp_assignto.Items.Insert(0, New ListItem(“Select One”, “Select One”))
drp_priority.SelectedItem.Value = “Normal”
End Sub

Public Sub BindWithTaskID(ByVal milestone_id As String, ByVal proj_id As String)
‘System.Web.HttpContext.Current.Session(“task_id”) = task_id
System.Web.HttpContext.Current.Session(“milestone_id”) = milestone_id
System.Web.HttpContext.Current.Session(“proj_id”) = proj_id

End Sub

Sub bind_DropDownList()
‘NOT NEEDED
‘——binding table to checkboxlist————-
‘ADD———“—Add New Site—” to table directly

Dim ds As New DataSet
Dim db As New DbObject
Dim parameter() As SqlParameter = {New SqlParameter(“@proj_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = “914” ‘Session(“proj_id”)

ds = db.getDataSet(“sp_drpprojid”, parameter, “project_employee”)

drp_assignto.DataSource = ds
drp_assignto.DataValueField = “emp_login”
drp_assignto.DataTextField = “emp_login”
drp_assignto.DataBind()
‘drp_assignto.Items.Insert(0, New ListItem(“Select One”, “Select One”))
‘Reset_all()
End Sub

Protected Sub AddButton_Click(ByVal sender As Object, ByVal e As EventArgs)

Dim db As New DbObject
Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.VarChar, 50), _
New SqlParameter(“@task_name”, SqlDbType.VarChar, 50), _
New SqlParameter(“@start_date”, SqlDbType.VarChar, 50), _
New SqlParameter(“@end_date”, SqlDbType.VarChar, 50), _
New SqlParameter(“@status”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Assign_to”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Priority”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Created_by”, SqlDbType.VarChar, 50)}

parameter(0).Value = “185” ‘Trim(TextBox1.Text)
parameter(1).Value = Trim(txt_taskname.Text)
parameter(2).Value = Trim(txt_startdate.Text)
parameter(3).Value = Trim(txt_enddate.Text)
parameter(4).Value = Trim(drp_status.SelectedItem.Text)
parameter(5).Value = Trim(drp_assignto.SelectedItem.Text)
parameter(6).Value = Trim(drp_priority.SelectedItem.Text)
parameter(7).Value = “” ‘ Trim(sessloginid)

db.ExecuteNonQuery(“sp_ins_task”, parameter)
‘Response.Redirect(“taskdetails.aspx”)
RaiseEvent AddButtonClick(Me, e)
‘RaiseEvent AddButtonClick(Me, e)
End Sub

End Class

==================================================================

==================================================================

task_editor.ascx

<%@ Control Language=”VB” AutoEventWireup=”false” CodeFile=”task_editor.ascx.vb” Inherits=”test_task_editor” %>
<%@ Register Assembly=”AjaxControlToolkit” Namespace=”AjaxControlToolkit” TagPrefix=”cc1″ %>
<script type=”text/javascript” >
function confirm_delete()
{
if (confirm(“Are you sure you want to delete the task?”)==true)
return true;
else
return false;
}

function chk4whitespace(VARIABLE)
{
result=new RegExp(/^\s+$/);
if(result.test(VARIABLE))
{
return false;
}
return true;
}

function validate_editor()
{

//alert(“dev”);
if(document.getElementById(“Task_editor1_txt_taskname”).value==””)
{
alert(“Enter Task Name.”);
document.getElementById(“Task_editor1_txt_taskname”).focus();
return false;
}
if(!chk4whitespace(document.getElementById(“Task_editor1_txt_taskname”).value))
{
alert(“Task Name can’t be empty.”);
document.getElementById(“Task_editor1_txt_taskname”).select();
document.getElementById(“Task_editor1_txt_taskname”).focus();
return false;
}
//————————
//————————

if(document.getElementById(“Task_editor1_txt_startdate”).value==””)
{
alert(“Select date from calendar.”);
document.getElementById(“Task_editor1_txt_startdate”).focus();
return false;
}
if(document.getElementById(“Task_editor1_txt_startdate”).value!=””)
{
var result1=(/^(0[1-9]|[0-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/[12][90][0-9][0-9]$/.test(document.getElementById(“Task_editor1_txt_startdate”).value));

if (result1 == false)
{
alert(“Please Select Start Date From Calendar.”);
document.getElementById(“Task_editor1_txt_startdate”).focus();
document.getElementById(“Task_editor1_txt_startdate”).select();
return false;
}

}
/*  if(!chk4whitespace(document.getElementById(“Task_editor1_txt_startdate”).value))
{
alert(“Date can’t be empty.”);
document.getElementById(“Task_editor1_txt_startdate”).select();
document.getElementById(“Task_editor1_txt_startdate”).focus();
return false;
}*/
//————————
if(document.getElementById(“Task_editor1_txt_enddate”).value==””)
{
alert(“Select date from calendar.”);
document.getElementById(“Task_editor1_txt_enddate”).focus();
return false;
}
/* if(!chk4whitespace(document.getElementById(“Task_editor1_txt_enddate”).value))
{
alert(“Date can’t be empty.”);
document.getElementById(“Task_editor1_txt_enddate”).select();
document.getElementById(“Task_editor1_txt_enddate”).focus();
return false;
}*/
//—————————-
if (document.getElementById(“Task_editor1_txt_enddate”).value!=””)
{

var result2=(/^(0[1-9]|[0-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/[12][90][0-9][0-9]$/.test(document.getElementById(“Task_editor1_txt_enddate”).value));
if (result2 == false)
{
alert(“Please Select End Date From Calendar.”);
document.getElementById(“Task_editor1_txt_enddate”).focus();
document.getElementById(“Task_editor1_txt_enddate”).select();
return false;
}
}
//————————
if(document.getElementById(“Task_editor1_drp_status”).value==”Select One”)
{
alert(“Select Status.”);
document.getElementById(“Task_editor1_drp_status”).focus();
return false;
}

//————————
if(document.getElementById(“Task_editor1_drp_assignto”).value==”Select One”)
{
alert(“Select Assign to.”);
document.getElementById(“Task_editor1_drp_assignto”).focus();
return false;
}
//————————
if(document.getElementById(“Task_editor1_drp_priority”).value==”Select One”)
{
alert(“Select Priority.”);
document.getElementById(“Task_editor1_drp_priority”).focus();
return false;
}
}
</script>
<table id=”form1″ cellpadding=”4″ cellspacing=”0″ style=”font-size: 8pt; font-family: Verdana”>
<tr>
<td style=”width: 100px” align=”right” height=”10″>
</td>
<td align=”center” style=”width: 10px” height=”10″>
</td>
<td style=”width: 100px” height=”10″>
</td>
<td style=”width: 30px” height=”10″>
</td>
</tr>
<tr>
<td align=”right” style=”width: 100px”>
<asp:TextBox ID=”txt_taskid” runat=”server” ReadOnly=”True” Visible=”False”></asp:TextBox></td>
<td align=”center” style=”width: 10px”>
</td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_milestoneid” runat=”server” ReadOnly=”True” Visible=”False”></asp:TextBox></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td style=”width: 100px” align=”right”>
<strong>
Task Name</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_taskname” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”></asp:TextBox></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td style=”width: 100px” align=”right”>
<strong>
Start Date</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_startdate” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”></asp:TextBox>
<cc1:CalendarExtender  ID=”CalendarExtender1″  runat=”server”  TargetControlID=”txt_startdate” PopupButtonID=”btnCalenderPopup” Format=”MM/dd/yyyy”></cc1:CalendarExtender>

</td>
<td style=”width: 30px” >
<asp:ImageButton   ID=”btnCalenderPopup”  Width=”16″ Height=”16″  runat=”server”  ImageUrl=”~/images/icons/cal.gif” CausesValidation=”False” /></td>
</tr>
<tr>
<td style=”width: 100px” align=”right”>
<strong>
End Date</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:TextBox ID=”txt_enddate” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”></asp:TextBox>
<cc1:CalendarExtender  ID=”CalendarExtender2″  runat=”server”  TargetControlID=”txt_enddate” PopupButtonID=”btnCalenderPopup1″ Format=”MM/dd/yyyy”></cc1:CalendarExtender>

</td>
<td style=”width: 30px” >
<asp:ImageButton   ID=”btnCalenderPopup1″  Width=”16″ Height=”16″  runat=”server”  ImageUrl=”~/images/icons/cal.gif” CausesValidation=”False” /></td>
</tr>
<tr>
<td style=”width: 100px” align=”right”>
<strong>
Status</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>
<asp:DropDownList ID=”drp_status” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”>
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>Started</asp:ListItem>
<asp:ListItem>Running</asp:ListItem>
<asp:ListItem>Pending</asp:ListItem>
<asp:ListItem>Completed</asp:ListItem>
</asp:DropDownList></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td style=”width: 100px; height: 21px” align=”right”>
<strong>
Assign To</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px; height: 21px”>

<asp:DropDownList ID=”drp_assignto” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”>
</asp:DropDownList></td>
<td style=”width: 30px;”>
</td>
</tr>
<tr>
<td style=”width: 100px” align=”right”>
<strong>
Priority</strong></td>
<td align=”center” style=”width: 10px”>
<strong>:</strong></td>
<td style=”width: 100px”>

<asp:DropDownList ID=”drp_priority” runat=”server” Font-Names=”Verdana” Font-Size=”8pt”>
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>High</asp:ListItem>
<asp:ListItem>Normal</asp:ListItem>
<asp:ListItem>Low</asp:ListItem>
</asp:DropDownList></td>
<td style=”width: 30px”>
</td>
</tr>
<tr>
<td style=”width: 100px” align=”right”>
</td>
<td align=”center” style=”width: 10px”>
</td>
<td align=”center” >
<asp:Button ID=”SaveButton” runat=”server” Text=”Save”
onclick=”SaveButton_Click” BackColor=”#99CC00″ BorderColor=”#99CC00″
Font-Bold=”True” ForeColor=”White” />
<asp:Button ID=”Delete” runat=”server” Text=”Delete”
onclick=”DeleteButton_Click” BackColor=”Maroon” BorderColor=”Maroon”
Font-Bold=”True” ForeColor=”White” />
</td>
<td align=”center” style=”width: 30px”>
</td>
</tr>
<tr>
<td align=”right” style=”height: 15px”>
</td>
<td align=”center” style=”height: 15px”>
</td>
<td align=”center” style=”height: 15px”>
</td>
<td align=”center” style=”width: 30px;”>
</td>
</tr>
</table>

================================================================

Imports System
Imports System.Data
Imports System.Data.SqlClient

Partial Class test_task_editor
Inherits System.Web.UI.UserControl
Public Event SaveButtonClick As EventHandler
Public Event DeleteButtonClick As EventHandler
Dim arch As New archCmnFncs()

Public SessProjId As String
Public sessloginid As String
Public sessusertype As String

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
‘ Literal1.Text = arch.getCalendarIconOnly(“form1”, “txt_startdate”).ToString()
‘Literal1.Text = arch.getCalendarIconOnly(“form1”, “txt_enddate”).ToString()
If (System.Convert.ToString(Session(“SessUserType”)) = “mg”) AndAlso (System.Convert.ToString(Session(“sessloginid”)) <> “”) Then
sessloginid = System.Convert.ToString(Session(“sessloginid”))
sessusertype = System.Convert.ToString(Session(“SessUserType”))
SessProjId = System.Convert.ToString(Session(“SessProjId”))
Else
Response.Redirect(“~/Login.aspx”)
End If
SaveButton.Attributes.Add(“OnClick”, “return validate_editor()”)
Delete.Attributes.Add(“onclick”, “return confirm_delete();”)

End Sub

Public Sub BindWithTaskID(ByVal task_id As Integer, ByVal milestone_id As String, ByVal proj_id As String)
System.Web.HttpContext.Current.Session(“task_id”) = task_id
System.Web.HttpContext.Current.Session(“milestone_id”) = milestone_id
System.Web.HttpContext.Current.Session(“proj_id”) = proj_id

BindData()
bind_DropDownList()
End Sub
Sub bind_DropDownList()
‘NOT NEEDED
‘——binding table to checkboxlist————-
‘ADD———“—Add New Site—” to table directly

Dim ds As New DataSet
Dim db As New DbObject
Dim parameter() As SqlParameter = {New SqlParameter(“@proj_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = Session(“proj_id”)

ds = db.getDataSet(“sp_drpprojid”, parameter, “project_employee”)

drp_assignto.DataSource = ds
drp_assignto.DataValueField = “emp_login”
drp_assignto.DataTextField = “emp_login”
drp_assignto.DataBind()

End Sub

Sub BindData()

Dim reader As SqlDataReader

Dim db As New DbObject
Dim parameter() As SqlParameter = {New SqlParameter(“@task_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = Session(“task_id”)
reader = db.getReader(“sp_fetch_task”, parameter)
While reader.Read
txt_taskid.Text = reader(“task_id”)
txt_milestoneid.Text = reader(“milestone_id”)
txt_taskname.Text = reader(“task_name”)
txt_startdate.Text = reader(“start_date”)
txt_enddate.Text = reader(“end_date”)
drp_status.SelectedValue = reader(“status”)
drp_priority.SelectedValue = reader(“priority”)
End While
End Sub

Protected Sub SaveButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SaveButton.Click
‘Response.Write(“saved”)
Dim db As New DbObject

Dim parameter() As SqlParameter = {New SqlParameter(“@task_id”, SqlDbType.VarChar, 50), _
New SqlParameter(“@milestone_id”, SqlDbType.VarChar, 50), _
New SqlParameter(“@task_name”, SqlDbType.VarChar, 50), _
New SqlParameter(“@start_date”, SqlDbType.VarChar, 50), _
New SqlParameter(“@end_date”, SqlDbType.VarChar, 50), _
New SqlParameter(“@status”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Assign_to”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Priority”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Created_by”, SqlDbType.VarChar, 50)}

parameter(0).Value = Trim(txt_taskid.Text)
parameter(1).Value = Trim(Session(“milestone_id”))
parameter(2).Value = Trim(txt_taskname.Text)
parameter(3).Value = Trim(txt_startdate.Text)
parameter(4).Value = Trim(txt_enddate.Text)
parameter(5).Value = Trim(drp_status.SelectedItem.Text)
parameter(6).Value = Trim(drp_assignto.SelectedItem.Text)
parameter(7).Value = Trim(drp_priority.SelectedItem.Text)
parameter(8).Value = Trim(sessloginid)

db.ExecuteNonQuery(“sp_update_sprinttasks”, parameter)
‘Response.Redirect(“taskdetails.aspx”)
RaiseEvent SaveButtonClick(Me, e)

End Sub

Protected Sub DeleteButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Delete.Click
Dim db As New DbObject

Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.VarChar, 50), _
New SqlParameter(“@task_id”, SqlDbType.Int)}

parameter(0).Value = Trim(Session(“milestone_id”))
parameter(1).Value = Trim(Session(“task_id”))

db.ExecuteNonQuery(“[sp_delete_tasks]”, parameter)
RaiseEvent DeleteButtonClick(Me, e)
End Sub

End Class

GridView- edit any cell on click, column sorting, adding new row, updating

June 19, 2009

====================================================================================

.aspx

<asp:GridView ID=”GridView1″ runat=”server” AutoGenerateColumns=”False” AllowSorting =”True”
OnRowDataBound=”GridView1_RowDataBound” OnRowCommand=”GridView1_RowCommand” OnRowUpdating=”GridView1_RowUpdating” ShowFooter=”True”  Font-Names=”Verdana” Font-Size=”8pt” Width=”100%” BorderColor=”#E0E0E0″>
<Columns>
<asp:ButtonField Text=”SingleClick” CommandName=”SingleClick” Visible=”False”/>

<asp:TemplateField HeaderText=”Task Id” Visible=”False” SortExpression=”Task Id” >
<ItemTemplate>
<input id=”task_id” runat=”server” type=”hidden” value='<%# DataBinder.Eval(Container.DataItem,”task_id”) %>’ visible=”false” />
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Task Name” SortExpression=”task_name”>
<ItemTemplate>
<asp:Label ID=”tasknamelbl” runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”task_name”) %>’></asp:Label>
<asp:TextBox ID=”taskname” runat=”server”  OnTextChanged =”taskname_TextChanged” Text='<%# DataBinder.Eval(Container.DataItem,”task_name”) %>’  AutoPostBack=”true”  Width=”100px” visible=”false”></asp:TextBox>
</ItemTemplate>
<ControlStyle Width=”100px” />
</asp:TemplateField>

<asp:TemplateField HeaderText=”Start Date” SortExpression=”start_date”>
<ItemTemplate>
<asp:Label ID=”startdatelbl” runat=”server”  Text='<%# DataBinder.Eval(Container.DataItem,”start_date”) %>’></asp:Label>
<asp:TextBox ID=”startdate” runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”start_date”) %>’ Visible =”false” ></asp:TextBox>
<asp:Calendar ID=”Cal1″ runat=”Server” Visible =”false” OnSelectionChanged=”Cal1_SelectionChanged”></asp:Calendar>
</ItemTemplate>
<ControlStyle Width=”100px” />
</asp:TemplateField>

<asp:TemplateField HeaderText=”End Date” SortExpression=”end_date”>
<ItemTemplate>
<asp:Label ID=”enddatelbl” runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”end_date”) %>’></asp:Label>
<asp:TextBox ID=”enddate” runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”end_date”) %>’ Width=”100px” visible=”false”></asp:TextBox>
<asp:Calendar ID=”Cal2″ runat=”Server” Visible =”false” OnSelectionChanged=”Cal2_SelectionChanged”></asp:Calendar>
</ItemTemplate>
<ControlStyle Width=”100px” />
</asp:TemplateField>

<asp:TemplateField HeaderText=”Status” SortExpression=”status”>
<ItemTemplate>
<asp:Label ID=”statuslbl” runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”status”) %>’></asp:Label>
<asp:DropDownList ID=”status” runat=”server”  Visible=”false” AutoPostBack=”true” OnSelectedIndexChanged=”status_SelectedIndexChanged” >
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>Started</asp:ListItem>
<asp:ListItem>Running</asp:ListItem>
<asp:ListItem>Pending</asp:ListItem>
<asp:ListItem>Completed</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID=”statustxt” runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”status”) %>’ Width=”100px” visible=”false”></asp:TextBox>
</ItemTemplate>
<ControlStyle Width=”100px” />
</asp:TemplateField>

<asp:TemplateField HeaderText=”Assign To” SortExpression=”assign_to”>
<ItemTemplate>
<asp:Label ID=”Assign2″ runat=”server” Text='<%# DataBinder.Eval(Container.DataItem,”assign_to”) %>’></asp:Label>
<asp:DropDownList ID=”DropDownList1″ DataTextField=”emp_login” OnSelectedIndexChanged=”DropDownList1_TextChanged” AutoPostBack=”true” Visible=”false”
DataValueField = “emp_login” DataSource= ‘<%# PopulateControls() %>’ runat=”server”></asp:DropDownList>
</ItemTemplate>
<ControlStyle Width=”120px” />
</asp:TemplateField>

<asp:TemplateField HeaderText=”Priority” SortExpression=”priority”>
<ItemTemplate>
<asp:Label ID=”prioritylbl” runat=”server” Text='<%# Eval(“priority”) %>’></asp:Label>
<asp:DropDownList ID=”priority” runat=”server”  Visible=”false” AutoPostBack=”true” OnSelectedIndexChanged=”priority_SelectedIndexChanged” >
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>High</asp:ListItem>
<asp:ListItem>Normal</asp:ListItem>
<asp:ListItem>Low</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
<ControlStyle Width=”100px” />
</asp:TemplateField>

<asp:TemplateField HeaderText =”Delete” >
<ItemTemplate>
<asp:Button ID=”btn_del”  runat=”server”  OnClick=”delete_Click”  Text=”Delete” />
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField >
<ItemTemplate>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID=”update”  runat=”server”  OnClick=”update_Click”  Text=”Update” />
</FooterTemplate>
</asp:TemplateField>

</Columns>

<RowStyle Height=”20px” HorizontalAlign=”Left” />
<HeaderStyle HorizontalAlign=”Left” />
</asp:GridView>

=======================================================================================

.vb

Imports System
Imports System.Data
Imports System.Data.SqlClient

Partial Class Manager_Task
Inherits System.Web.UI.Page

Private Const _firstEditCellIndex As Integer = 2
Dim arch As New archCmnFncs()
Public rowind As String
Public colind As String
Public SessProjId As String
Public sessloginid As String
Public sessusertype As String

Public Shared NoOfRows As Integer = 4
Public Shared ctlID As Integer = 0

Private Const ASCENDING As String = ” ASC”
Private Const DESCENDING As String = ” DESC”

‘    public string itm;
‘<%=itm%>

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then
bind_data1()

End If

If GridView1.SelectedIndex > -1 Then

GridView1.UpdateRow(GridView1.SelectedIndex, False)

End If

End Sub

Sub bind_data1()

If GetDataSet.Tables(“sprint_tasks”).Rows.Count <> 0 Then
GridView1.DataSource = GetDataSet().Tables(0)
GridView1.DataBind()
End If

End Sub

Public Property GridViewSortDirection() As SortDirection
Get
If ViewState(“sortDirection”) Is Nothing Then
ViewState(“sortDirection”) = SortDirection.Ascending
End If

Return DirectCast(ViewState(“sortDirection”), SortDirection)
End Get
Set(ByVal value As SortDirection)
ViewState(“sortDirection”) = value
End Set
End Property

Private Sub SortGridView(ByVal sortExpression As String, ByVal direction As String)
‘  You can cache the DataTable for improving performance
Dim dt As DataTable = _sampleData

Dim dv As New DataView(dt)

dv.Sort = sortExpression + direction

GridView1.DataSource = dv
GridView1.DataBind()

End Sub

Private Property _sampleData() As DataTable
Get
Dim dt As DataTable
dt = New DataTable()

dt.Columns.Add(New DataColumn(“task_id”, GetType(Integer)))
dt.Columns.Add(New DataColumn(“task_name”, GetType(String)))
dt.Columns.Add(New DataColumn(“start_date”, GetType(String)))
dt.Columns.Add(New DataColumn(“end_date”, GetType(String)))
dt.Columns.Add(New DataColumn(“status”, GetType(String)))
dt.Columns.Add(New DataColumn(“assign_to”, GetType(String)))
dt.Columns.Add(New DataColumn(“priority”, GetType(String)))

‘===================================================

For Each grdRow As GridViewRow In GridView1.Rows
Dim task_id As HtmlInputHidden = DirectCast((grdRow.FindControl(“task_id”)), HtmlInputHidden)
Dim taskname As TextBox = DirectCast((grdRow.FindControl(“taskname”)), TextBox)
Dim startdate As TextBox = DirectCast((grdRow.FindControl(“startdate”)), TextBox)
Dim enddate As TextBox = DirectCast((grdRow.FindControl(“enddate”)), TextBox)
Dim statuslbl As Label = DirectCast((grdRow.FindControl(“statuslbl”)), Label)
Dim assign_to As Label = DirectCast((grdRow.FindControl(“Assign2”)), Label)
Dim priority As Label = DirectCast((grdRow.FindControl(“Prioritylbl”)), Label)

Dim dr As DataRow = dt.NewRow()
dr(0) = Convert.ToString(task_id.Value.Trim())
dr(1) = Convert.ToString(taskname.Text.Trim())
dr(2) = Convert.ToString(startdate.Text.Trim())
dr(3) = Convert.ToString(enddate.Text.Trim())
dr(4) = Convert.ToString(statuslbl.Text.Trim())
dr(5) = Convert.ToString(assign_to.Text.Trim())
dr(6) = Convert.ToString(priority.Text.Trim())
dt.Rows.Add(dr)
Next

‘===========================================

Dim keys As DataColumn() = New DataColumn(0) {}
keys(0) = dt.Columns(“task_id”)
dt.PrimaryKey = keys

_sampleData = dt
‘ End If

Return dt
End Get

Set(ByVal value As DataTable)
GridView1.DataSource = value
GridView1.DataBind()
End Set

End Property

Protected Sub Cal1_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)

Dim cal As Calendar = DirectCast(sender, Calendar)
Dim text1 As TextBox = DirectCast(DirectCast(cal.Parent.Parent, GridViewRow).FindControl(“startdate”), TextBox)
Dim text1lbl As Label = DirectCast(DirectCast(cal.Parent.Parent, GridViewRow).FindControl(“startdatelbl”), Label)

text1.Text = cal.SelectedDate.ToString(“MM/dd/yyyy”)
text1lbl.Text = cal.SelectedDate.ToString(“MM/dd/yyyy”)

End Sub

Protected Sub Cal2_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim cal As Calendar = DirectCast(sender, Calendar)
Dim text1 As TextBox = DirectCast(DirectCast(cal.Parent.Parent, GridViewRow).FindControl(“enddate”), TextBox)
Dim text1lbl As Label = DirectCast(DirectCast(cal.Parent.Parent, GridViewRow).FindControl(“enddatelbl”), Label)

text1.Text = cal.SelectedDate.ToString(“MM/dd/yyyy”)
text1lbl.Text = cal.SelectedDate.ToString(“MM/dd/yyyy”)

End Sub

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Dim _gridView As GridView = DirectCast(sender, GridView)

Select Case e.CommandName
Case (“SingleClick”)

‘ Get the row index
Dim _rowIndex As Integer = Integer.Parse(e.CommandArgument.ToString())

‘ Parse the event argument (added in RowDataBound) to get the selected column index
Dim _columnIndex As Integer = Integer.Parse(Request.Form(“__EVENTARGUMENT”))
‘Label2.Text = _columnIndex

‘ Set the Gridview selected index
_gridView.SelectedIndex = _rowIndex

‘ Bind the Gridview
_gridView.DataSource = _sampleData
_gridView.DataBind()

rowind = _rowIndex
colind = _columnIndex

‘ Write out a history if the event
‘Me.Message.Text += (“Single clicked GridView row at index ” & _rowIndex.ToString() & ” on column index “) + _columnIndex & “<br />”

‘ Get the display control for the selected cell and make it invisible
Dim _displayControl As Control = _gridView.Rows(_rowIndex).Cells(_columnIndex).Controls(1)
_displayControl.Visible = False

‘ Get the edit control for the selected cell and make it visible
Dim _editControl As Control = _gridView.Rows(_rowIndex).Cells(_columnIndex).Controls(3)
_editControl.Visible = True

‘ Clear the attributes from the selected cell to remove the click event
_gridView.Rows(_rowIndex).Cells(_columnIndex).Attributes.Clear()

‘ Set focus on the selected edit control
ClientScript.RegisterStartupScript([GetType](), “SetFocus”, “<script>document.getElementById(‘” & _editControl.ClientID & “‘).focus();</script>”)

‘ If the edit control is a dropdownlist set the
‘ SelectedValue to the value of the display control
If TypeOf _editControl Is DropDownList AndAlso TypeOf _displayControl Is Label Then
DirectCast(_editControl, DropDownList).SelectedValue = DirectCast(_displayControl, Label).Text
End If

If TypeOf _editControl Is TextBox Then
DirectCast(_editControl, TextBox).Attributes.Add(“onfocus”, “this.select()”)
DirectCast(_editControl, TextBox).Text = DirectCast(_editControl, TextBox).Text
‘DirectCast(_editControl, TextBox).Text = “dev”
Page.ClientScript.RegisterStartupScript(Page.GetType(), “assignvalue()”, “Javascript:assignvalue();”, True)

If (_columnIndex = 3 Or _columnIndex = 4) Then

Dim _calControl As Control = _gridView.Rows(rowind).Cells(colind).Controls(5)
_calControl.Visible = True
End If
End If

Exit Select

End Select

End Sub

Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
If Not (e.Row Is Nothing) AndAlso e.Row.RowType = DataControlRowType.Header Then

For Each cell As TableCell In e.Row.Cells
If cell.HasControls Then
Dim button As LinkButton = DirectCast(cell.Controls(0), LinkButton)
Dim image As Image = New Image
If Not (button Is Nothing) Then

Dim orderimg As String
orderimg = ViewState(“sortDirection”)

If (orderimg = “0”) Then
image.ImageUrl = “/images/sortascending.gif”
ElseIf (orderimg = “1”) Then
image.ImageUrl = “/images/sortdescending.gif”
Else
image.ImageUrl = “/images/sortascending.gif”
End If

cell.Controls.Add(image)
End If
End If
Next
End If
End Sub

Private Function GetDataSet() As DataSet
Dim db As New DbObject
Dim ds As DataSet
Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.Int), _
New SqlParameter(“@proj_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = “111” ‘Trim(Request.QueryString(“qstr”))
parameter(1).Value = “914” ‘Trim(SessProjId)

ds = db.getDataSet(“sp_sprinttasks”, parameter, “sprint_tasks”)

Return ds

End Function

Public Function PopulateControls() As DataSet

Dim db As New DbObject
Dim ds As DataSet
Dim parameter() As SqlParameter = {New SqlParameter(“@proj_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = Trim(SessProjId)

ds = db.getDataSet(“sp_drpprojid”, parameter, “project_employee”)
Return ds

End Function

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then
‘ Get the LinkButton control in the first cell
Dim _singleClickButton As LinkButton = DirectCast(e.Row.Cells(0).Controls(0), LinkButton)
‘ Get the javascript which is assigned to this LinkButton
Dim _jsSingle As String = ClientScript.GetPostBackClientHyperlink(_singleClickButton, “”)

‘ Add events to each editable cell
For columnIndex As Integer = _firstEditCellIndex To e.Row.Cells.Count – 1
‘ Add the column index as the event argument parameter
Dim js As String = _jsSingle.Insert(_jsSingle.Length – 2, columnIndex.ToString())
‘ Add this javascript to the onclick Attribute of the cell
e.Row.Cells(columnIndex).Attributes(“onclick”) = js
‘ Add a cursor style to the cells
e.Row.Cells(columnIndex).Attributes(“style”) += “cursor:pointer;cursor:hand;”

Next
End If

End Sub

Protected Sub delete_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim txtbox As Button = DirectCast(sender, Button)
Dim lbl As HtmlInputHidden = DirectCast(DirectCast(txtbox.Parent.Parent, GridViewRow).FindControl(“task_id”), HtmlInputHidden)

Dim db As New DbObject

Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.VarChar, 50), _
New SqlParameter(“@task_id”, SqlDbType.Int)}

parameter(0).Value = “111” ‘Trim(Request.QueryString(“qstr”))
parameter(1).Value = Trim(lbl.Value)

db.ExecuteNonQuery(“[sp_delete_tasks]”, parameter)

Response.Redirect(“task.aspx?” & Request.QueryString.ToString)

End Sub

Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim db As New DbObject()
Dim _gridView As GridView = DirectCast(sender, GridView)
Dim k As Integer = 0
If e.RowIndex > -1 Then

For k = 2 To 6
Dim _editControl As Control = _gridView.Rows(e.RowIndex).Cells(k).Controls(3)
If _editControl.Visible Then
‘Dim _dataTableColumnIndex As Integer = i – 1
Dim idLabel As HtmlInputHidden = CType(_gridView.Rows(e.RowIndex).FindControl(“task_id”), HtmlInputHidden)
Dim id As Integer = Integer.Parse(idLabel.Value)

Try

Dim taskname As String
Dim status As String

If TypeOf _editControl Is TextBox Then

taskname = (CType(_editControl, TextBox)).Text

End If
If TypeOf _editControl Is DropDownList Then

status = (CType(_editControl, DropDownList)).SelectedValue
End If
Catch

End Try
End If
Next

End If
End Sub
Sub update_grid()

delete_tasks()

For j As Integer = 0 To GridView1.Rows.Count – 1
Dim temptext1 As HtmlInputHidden = CType(GridView1.Rows(j).FindControl(“task_id”), HtmlInputHidden)
Dim temptext2 As Label = CType(GridView1.Rows(j).FindControl(“tasknamelbl”), Label)
Dim temptext3 As Label = CType(GridView1.Rows(j).FindControl(“startdatelbl”), Label)
Dim temptext4 As Label = CType(GridView1.Rows(j).FindControl(“enddatelbl”), Label)
Dim temptext5 As Label = CType(GridView1.Rows(j).FindControl(“statuslbl”), Label)
Dim temptext6 As Label = CType(GridView1.Rows(j).FindControl(“assign2”), Label)
Dim temptext7 As Label = CType(GridView1.Rows(j).FindControl(“Prioritylbl”), Label)

Dim str1() As String = {temptext1.Value.Trim, temptext2.Text, temptext3.Text, temptext4.Text, temptext5.Text, temptext6.Text, temptext7.Text}

update_tasks(temptext1.Value.Trim, temptext2.Text, temptext3.Text, temptext4.Text, temptext5.Text, temptext6.Text, temptext7.Text)

Next

End Sub
Sub delete_tasks()
Dim db As New DbObject
Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = “111” ‘Trim(Request.QueryString(“qstr”))

db.ExecuteNonQuery(“[sp_delete_sprinttasks]”, parameter)
End Sub
Sub update_tasks(ByVal temptext1 As String, ByVal temptext2 As String, ByVal temptext3 As String, ByVal temptext4 As String, ByVal temptext5 As String, ByVal temptext6 As String, ByVal temptext7 As String)
Try
Dim db As New DbObject

Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.VarChar, 50), _
New SqlParameter(“@task_name”, SqlDbType.VarChar, 50), _
New SqlParameter(“@start_date”, SqlDbType.VarChar, 50), _
New SqlParameter(“@end_date”, SqlDbType.VarChar, 50), _
New SqlParameter(“@status”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Assign_to”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Priority”, SqlDbType.VarChar, 50), _
New SqlParameter(“@Created_by”, SqlDbType.VarChar, 50)}

‘parameter(0).Value = Trim(temptext1)
parameter(0).Value = “111” ‘Trim(Request.QueryString(“qstr”))
parameter(1).Value = Trim(temptext2)
parameter(2).Value = Trim(temptext3)
parameter(3).Value = Trim(temptext4)
parameter(4).Value = Trim(temptext5)
parameter(5).Value = Trim(temptext6)
parameter(6).Value = Trim(temptext7)
parameter(7).Value = “jyothi@123.com”

db.ExecuteNonQuery(“[sp_insert_sprinttasks]”, parameter)
‘Response.Redirect(“task.aspx?” & Request.QueryString.ToString)
Catch ex As Exception

End Try

End Sub

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged

End Sub

Protected Sub btn_newtask_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_newtask.Click
‘ Add a new empty row
Dim dt As DataTable = _sampleData

Dim newid As Integer = dt.Rows.Count + 1

dt.Rows.Add(New Object() {newid, “Click Here to add new task”, “”, “”, “”, “”})
_sampleData = dt

‘ Repopulate the GridView
Me.GridView1.DataSource = _sampleData
Me.GridView1.DataBind()
End Sub

Protected Sub priority_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim drplist As DropDownList = DirectCast(sender, DropDownList)
Dim text1 As Label = DirectCast(DirectCast(drplist.Parent.Parent, GridViewRow).FindControl(“prioritylbl”), Label)

text1.Text = drplist.SelectedValue

End Sub
Protected Sub status_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim drplist As DropDownList = DirectCast(sender, DropDownList)
Dim text1 As Label = DirectCast(DirectCast(drplist.Parent.Parent, GridViewRow).FindControl(“statuslbl”), Label)

text1.Text = drplist.SelectedValue

End Sub
Protected Sub DropDownList1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim drpl As DropDownList = DirectCast(sender, DropDownList)
Dim lbl As Label = DirectCast(DirectCast(drpl.Parent.Parent, GridViewRow).FindControl(“Assign2”), Label)

lbl.Text = drpl.SelectedValue

End Sub

Protected Sub taskname_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim txtbox As TextBox = DirectCast(sender, TextBox)
Dim lbl As Label = DirectCast(DirectCast(txtbox.Parent.Parent, GridViewRow).FindControl(“tasknamelbl”), Label)

lbl.Text = txtbox.Text
End Sub

Protected Sub update_Click(ByVal sender As Object, ByVal e As System.EventArgs)
update_grid()
task_count()
Response.Redirect(“task.aspx?” & Request.QueryString.ToString)
End Sub

Sub task_count()
Dim db As New DbObject()
Dim reader As SqlDataReader
Dim count As Integer
Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.Int)}
parameter(0).Value = “111” ‘ Trim(Request.QueryString(“qstr”))
reader = db.getReader(“sp_newtaskcount”, parameter)
While reader.Read
count = reader(“ctask”)
End While
reader.Close()

Dim parameters() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.Int), _
New SqlParameter(“no_of_task”, SqlDbType.Int)}

parameters(0).Value = “111” ‘Trim(Request.QueryString(“qstr”))
parameters(1).Value = count
db.ExecuteNonQuery(“ins_taskcount”, parameters)

End Sub

Protected Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
Dim sortExpression As String = e.SortExpression

If GridViewSortDirection = SortDirection.Ascending Then
GridViewSortDirection = SortDirection.Descending
SortGridView(sortExpression, DESCENDING)
Else
GridViewSortDirection = SortDirection.Ascending
SortGridView(sortExpression, ASCENDING)

End If
End Sub
End Class

====================================================================================

RadGrid- Basic Column Sorting

June 19, 2009
===========================================================================================================

.aspx

<%@ Page Language=”VB” AutoEventWireup=”false” CodeFile=”basic_sorting.aspx.vb” Inherits=”test_basic_sorting” %>

<%@ Register Assembly=”Telerik.Web.UI” Namespace=”Telerik.Web.UI” TagPrefix=”telerik” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;

<html xmlns=”http://www.w3.org/1999/xhtml&#8221; >
<head runat=”server”>
<title>Untitled Page</title>
</head>
<body>
<form runat=”server” id=”mainForm” method=”post” style=”width: 100%;”>
<asp:ScriptManager ID=”ScriptManager1″ runat=”server”>
</asp:ScriptManager>
<table cellpadding=”4″ cellspacing=”0″>
<tr>
<td>
<table cellpadding=”4″ cellspacing=”0″>
<tr>
<td style=”height: 15px”>
Allow multi-column sorting:</td>
<td style=”height: 15px”>
<asp:DropDownList ID=”DropDownList1″ AutoPostBack=”True” OnSelectedIndexChanged=”DropDownList1_SelectedIndexChanged”
runat=”server”>
<asp:ListItem Value=”True” Selected=”True”>True</asp:ListItem>
<asp:ListItem Value=”False”>False</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td>
Allow&nbsp;’natural sort’ state (after ‘descending’)&nbsp;</td>
<td>
<asp:DropDownList ID=”DropDownList2″ AutoPostBack=”True” OnSelectedIndexChanged=”DropDownList2_SelectedIndexChanged”
runat=”server”>
<asp:ListItem Value=”True” Selected=”True”>True</asp:ListItem>
<asp:ListItem Value=”False”>False</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td>
Default sort order Descending</td>
<td>
<asp:CheckBox ID=”CheckBox1″ runat=”server”></asp:CheckBox></td>
</tr>
<tr>
<td style=”height: 21px”>
&nbsp;</td>
<td style=”height: 21px”>
&nbsp;</td>
</tr>
<tr>
<td>
Allow custom sorting</td>
<td>
<asp:CheckBox ID=”CheckBox2″ runat=”server” AutoPostBack=”true” OnCheckedChanged=”CheckBox2_CheckedChanged” /></td>
</tr>
<tr>
<td>
Apply sorted back color</td>
<td>
<asp:CheckBox ID=”CheckBox3″ runat=”server” AutoPostBack=”true” Checked=”true” OnCheckedChanged=”CheckBox3_CheckedChanged”>
</asp:CheckBox></td>
</tr>
</table>
<asp:Label ID=”SortLabel” runat=”server”></asp:Label>
</td>
</tr>
<tr>
<td>
<telerik:RadAjaxManager ID=”RadAjaxManager1″ runat=”server”>
<AjaxSettings >

<telerik:AjaxSetting AjaxControlID=”radgrid1″>
<UpdatedControls >
<telerik:AjaxUpdatedControl ControlID=”radgrid1″ LoadingPanelID=”RadAjaxLoadingPanel1″ />
</UpdatedControls>
</telerik:AjaxSetting>

<telerik:AjaxSetting AjaxControlID=”DropDownList1″>
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID=”RadGrid1″ LoadingPanelID=”RadAjaxLoadingPanel1″ />
</UpdatedControls>
</telerik:AjaxSetting>

<telerik:AjaxSetting AjaxControlID=”DropDownList2″>
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID=”RadGrid1″ LoadingPanelID=”RadAjaxLoadingPanel1″ />
</UpdatedControls>
</telerik:AjaxSetting>

<telerik:AjaxSetting AjaxControlID=”CheckBox2″>
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID=”RadGrid1″ LoadingPanelID=”RadAjaxLoadingPanel1″ />
<telerik:AjaxUpdatedControl ControlID=”SortLabel” />
</UpdatedControls>
</telerik:AjaxSetting>

<telerik:AjaxSetting AjaxControlID=”CheckBox3″>
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID=”RadGrid1″ LoadingPanelID=”RadAjaxLoadingPanel1″ />
</UpdatedControls>
</telerik:AjaxSetting>

</AjaxSettings>
</telerik:RadAjaxManager>
</td>
</tr>
<tr>
<td>
<telerik:RadAjaxLoadingPanel ID=”RadAjaxLoadingPanel1″ runat=”server”>
</telerik:RadAjaxLoadingPanel>

<telerik:RadGrid ID=”RadGrid1″ runat=”server” AllowPaging=”true” AllowSorting=”True”
GridLines=”None” OnSortCommand=”RadGrid1_SortCommand” OnNeedDataSource=”RadGrid1_NeedDataSource” Skin=”Default2006″>
<MasterTableView AllowMultiColumnSorting=”True” >
<ExpandCollapseColumn>
<HeaderStyle Width=”20px” />
</ExpandCollapseColumn>
<RowIndicatorColumn>
<HeaderStyle Width=”20px” />
</RowIndicatorColumn>

</MasterTableView>
<SortingSettings SortedBackColor=”Azure”  />
<HeaderStyle Width=”100px” />
<FilterMenu EnableTheming=”True”>
<CollapseAnimation Duration=”2000″ Type=”InBounce” />
</FilterMenu>

</telerik:RadGrid>
</td></tr>
</table>
</form>
</body>
</html>

===========================================================================================================

.vb

Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports Telerik.Web.UI

Imports System.Drawing

Partial Class test_basic_sorting
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
‘ Dim sortExpr As New GridSortExpression()
‘ sortExpr.FieldName = “Task_id”
‘sortExpr.SortOrder = GridSortOrder.Ascending
‘sortExpr.SortOrder = GridSortOrder.None
‘Add sort expression, which will sort against first column
‘RadGrid1.MasterTableView.SortExpressions.AddSortExpression(sortExpr)
End If
End Sub

Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
‘Me.RadGrid1.MasterTableView.AllowMultiColumnSorting = Boolean.Parse(Me.DropDownList1.SelectedItem.Value)
‘Me.RadGrid1.MasterTableView.Rebind()
End Sub

Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged
‘Me.RadGrid1.MasterTableView.AllowNaturalSort = Boolean.Parse(Me.DropDownList2.SelectedItem.Value)
‘Me.RadGrid1.MasterTableView.Rebind()
End Sub

Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
Dim gridSortString As String = Me.RadGrid1.MasterTableView.SortExpressions.GetSortString()
‘Dim text As String = “Grid sort expression: ” + gridSortString
‘RadAjaxManager1.ResponseScripts.Add(String.Format(“document.getElementById(‘{0}’).innerHTML = ‘” + text + “‘;”, Me.SortLabel.ClientID))

Dim args As New DataSourceSelectArguments(gridSortString)
RadGrid1.DataSource = GetDataSet().Tables(0)
End Sub

Private Function GetDataSet() As DataSet
Dim db As New DbObject
Dim ds As DataSet
Dim parameter() As SqlParameter = {New SqlParameter(“@milestone_id”, SqlDbType.Int), _
New SqlParameter(“@proj_id”, SqlDbType.VarChar, 50)}

parameter(0).Value = “185”
parameter(1).Value = “914”

ds = db.getDataSet(“sp_sprinttasks”, parameter, “sprint_tasks”)

Return ds

End Function

Protected Sub RadGrid1_SortCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridSortCommandEventArgs) Handles RadGrid1.SortCommand
‘Apply custom sorting
‘If CheckBox2.Checked Then

‘    Dim sortExpr As New GridSortExpression()
‘    Select Case e.OldSortOrder
‘        Case GridSortOrder.None
‘            sortExpr.FieldName = e.SortExpression
‘            sortExpr.SortOrder = GridSortOrder.Descending

‘            e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr)
‘            Exit Select
‘        Case GridSortOrder.Ascending
‘            sortExpr.FieldName = e.SortExpression
‘            sortExpr.SortOrder = IIf(RadGrid1.MasterTableView.AllowNaturalSort, GridSortOrder.None, GridSortOrder.Descending)

‘            e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr)
‘            Exit Select
‘        Case GridSortOrder.Descending
‘            sortExpr.FieldName = e.SortExpression
‘            sortExpr.SortOrder = GridSortOrder.Ascending

‘            e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr)
‘            Exit Select
‘    End Select

‘    e.Canceled = True
‘    RadGrid1.Rebind()
‘End If

‘Default sort order Descending
‘If Me.CheckBox1.Checked Then

‘If Not e.Item.OwnerTableView.SortExpressions.ContainsExpression(e.SortExpression) Then
‘    Dim sortExpr As New GridSortExpression()
‘    sortExpr.FieldName = e.SortExpression
‘    sortExpr.SortOrder = GridSortOrder.Ascending

‘    e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr)
‘End If
‘End If
End Sub

Protected Sub CheckBox2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
‘Me.SortLabel.Text = “”
‘RadGrid1.MasterTableView.AllowCustomSorting = CheckBox2.Checked
”RadGrid1.DataSourceID = IIf(CheckBox2.Checked, “”, SqlDataSource1.ID)
‘If (CheckBox2.Checked = False) Then

‘    RadGrid1.DataSource = GetDataSet().Tables(0)
‘    RadGrid1.Rebind()

‘End If
‘RadGrid1.DataSource = GetDataSet().Tables(0)
‘RadGrid1.Rebind()
End Sub

Protected Sub CheckBox3_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged
‘RadGrid1.SortingSettings.SortedBackColor = IIf(CheckBox3.Checked, Color.FromName(“Azure”), Color.Empty)
End Sub
End Class

===========================================================================================================