Rank: Newbie Groups: Member
Joined: 5/13/2011 Posts: 1
|
Hello everyone, I am building an ASP.net page for my company and I am testing the EO toolkit as I am quite impressed with and and can definately use many of these tools in our design. We don't currently have a support license, but if we include the toolset we will indeed need one. Currently I am attempting to incorporate the Progressbar into a routine when we update our SQL server and create a work schedule for our clients. I think I have the page setup properly, but when I press on the button command to initiate the progress bar's runt task command, the post back refreshes the page but nothing happens. I have my placed code markers on the .vb page to test the data flow of our program, but it appears the page does not fully postback when I press on the "Start Button". Here is the code, if it helps.
Code: HTML/ASPX
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="managebills.aspx.vb" Inherits="Billing_managebills" %>
<%@ Register assembly="EO.Web" namespace="EO.Web" tagprefix="eo" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
<style type="text/css">
.style1
{
width: 100%;
}
.style2
{
width: 814px;
}
.style9
{
}
.style10
{
width: 203px;
height: 26px;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<script type="text/javascript">
function OnProgress(progressBar) {
var extraData = progressBar.getExtraData();
if (extraData) {
//The following code demonstrates how to update
//client side DHTML element based on the value
//RunTask passed to us with e.UpdateProgress
var div = document.getElementById("divStatus");
div.innerHTML = extraData;
}
}
</script>
<table cellspacing="0" class="style1">
<tr>
<td width="15%" align="left" colspan="0" rowspan="0" valign="top">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu1"
EnableViewState="False" IncludeStyleBlock="False" Orientation="Vertical">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
</Items>
</asp:Menu>
</td>
<td width="85%">
<h2>
Welcome
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
to TVNS PORTAL 2010 Billing module
</h2>
<div>
<asp:Panel ID="Panel1" runat="server" BackColor="#5D7B9D">
<table cellspacing="1" class="style2">
<tr>
<td>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateSelectButton="True" CellPadding="4" ForeColor="#333333"
GridLines="None">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
</td>
</tr>
</table>
</asp:Panel>
</div>
<div>
<asp:Panel ID="Panel2" runat="server" BackColor="#DDE4EC">
<table class="style2">
<tr>
<td class="style9">
</td>
<td class="style9">
</td>
<td class="style9">
</td>
<td class="style9">
</td>
</tr>
<tr>
<td bgcolor="#5D7B9D" class="style9">
<asp:Label ID="Label1" runat="server" ForeColor="White" Text="DEPARTMENT"></asp:Label>
</td>
<td bgcolor="#5D7B9D" class="style9">
<asp:Label ID="Label3" runat="server" ForeColor="White" Text="PROGRAM:"></asp:Label>
</td>
<td bgcolor="#5D7B9D" class="style9">
<asp:Label ID="Label4" runat="server" ForeColor="White" Text="DATE CODE"></asp:Label>
</td>
<td bgcolor="#5D7B9D" class="style9">
<asp:Label ID="Label5" runat="server" ForeColor="White" Text="YEAR"></asp:Label>
</td>
</tr>
<tr>
<td class="style10">
<asp:TextBox ID="TextBox1" runat="server" Width="90px"></asp:TextBox>
</td>
<td class="style10">
<asp:TextBox ID="TextBox2" runat="server" Width="90px"></asp:TextBox>
</td>
<td class="style10">
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</td>
<td class="style10">
<asp:DropDownList ID="DropDownList2" runat="server" DataTextField="YEAR">
</asp:DropDownList>
</td>
</tr>
<tr>
<td bgcolor="#5D7B9D" class="style9" colspan="4">
<asp:Label ID="Label6" runat="server" ForeColor="White" Text="STATUS:"></asp:Label>
</td>
</tr>
<tr>
<td class="style9" colspan="4">
<eo:ProgressBar ID="ProgressBar1" runat="server" BackgroundImage="00060101"
BackgroundImageLeft="00060102" BackgroundImageRight="00060103"
ControlSkinID="None" IndicatorImage="00060104" IndicatorIncrement="7"
ShowPercentage="True" Width="500px" StartTaskButton="Button1" StopTaskButton="Button2"
OnRunTask="ProgressBar1_RunTask" ClientSideOnValueChanged="OnProgress">
</eo:ProgressBar>
</td>
</tr>
<tr>
<td class="style9">
<asp:Button ID="Button1" runat="server" CssClass="button" Text="Start"
Width="80px" />
</td>
<td class="style9">
<asp:Button ID="Button2" runat="server" CssClass="button" Text="Cancel"
Width="80px" />
</td>
<td class="style9">
</td>
<td class="style9">
</td>
</tr>
<tr>
<td class="style9" colspan="4"><div id="divStatus"></div>
</td>
</tr>
<tr>
<td class="style9">
</td>
<td class="style9">
</td>
<td class="style9">
</td>
<td class="style9">
</td>
</tr>
</table>
</asp:Panel>
</div>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
</table>
</asp:Content>
Here is the .vb code behind.
Code: Visual Basic.NET
Imports System.Data.SqlClient
Imports System.Data
Partial Class Billing_managebills
Inherits System.Web.UI.Page
Dim _ClientBill As New ClientBill
Dim _ClientSched As New ClientSched
Dim _ClientInfo As New ClientInfo
Protected Sub Billing_managebills_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim _LeftMenu As New LeftMenu
Dim _userRights As New cls_UserRights
Call _userRights.GetUserRights(Session("UserName"))
Call _LeftMenu.CreateMenu(NavigationMenu, "Billing", _userRights)
Label2.Text = Session("UserName")
GridView1.DataSource = _ClientBill.GetAllDepartments
GridView1.DataBind()
ProgressBar1.Visible = False
Call LoadDateCodes()
Call LoadYears()
End Sub
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Select Case e.CommandName
Case Is = "Page"
GridView1.DataSource = _ClientBill.GetAllDepartments
Case Is = "Select"
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
Dim gvRow As GridViewRow = GridView1.Rows(index)
'Label24.Text = gvRow.Cells(1).Text
TextBox1.Text = gvRow.Cells(1).Text
TextBox2.Text = gvRow.Cells(3).Text
End Select
End Sub
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
End Sub
Private Sub LoadDateCodes()
DropDownList1.Items.Clear()
DropDownList1.Items.Add("JAN1")
DropDownList1.Items.Add("JAN2")
DropDownList1.Items.Add("FEB1")
DropDownList1.Items.Add("FEB2")
DropDownList1.Items.Add("MAR1")
DropDownList1.Items.Add("MAR2")
DropDownList1.Items.Add("APR1")
DropDownList1.Items.Add("APR2")
DropDownList1.Items.Add("MAY1")
DropDownList1.Items.Add("MAY2")
DropDownList1.Items.Add("JUN1")
DropDownList1.Items.Add("JUN2")
DropDownList1.Items.Add("JUL1")
DropDownList1.Items.Add("JUL2")
DropDownList1.Items.Add("AUG1")
DropDownList1.Items.Add("AUG2")
DropDownList1.Items.Add("SEP1")
DropDownList1.Items.Add("SEP2")
DropDownList1.Items.Add("OCT1")
DropDownList1.Items.Add("OCT2")
DropDownList1.Items.Add("NOV1")
DropDownList1.Items.Add("NOV2")
DropDownList1.Items.Add("DEC1")
DropDownList1.Items.Add("DEC2")
DropDownList1.Text = Session("GLBLDATECODE")
End Sub
Private Sub LoadYears()
DropDownList2.Items.Clear()
Dim conn As New SqlConnection()
Dim varSQL As String
varSQL = ""
conn.ConnectionString = "Data Source=;Initial Catalog=TVNSPAYROLL;Integrated Security=True"
Dim cmd As New SqlCommand(varSQL, conn)
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader
DropDownList2.DataSource = reader
DropDownList2.DataBind()
reader.Close()
conn.Close()
End Sub
Protected Sub ProgressBar1_RunTask(ByVal sender As Object, ByVal e As EO.Web.ProgressTaskEventArgs)
e.UpdateProgress(0, "Starting...")
Dim i As Integer
For i = 0 To 99
If e.IsStopped Then
Exit For
End If
System.Threading.Thread.Sleep(500)
e.UpdateProgress(i, "Calculating...")
Next
e.UpdateProgress(100, "Finished...")
End Sub
Protected Sub ProgressBar1_RunTask02(ByVal sender As Object, ByVal e As EO.Web.ProgressTaskEventArgs)
Dim conn As New SqlConnection()
Dim varSQL As String
varSQL = "SELECT * FROM [BILLCLIENTDEMO]"
conn.ConnectionString = "Data Source=TVNS-SQL-01;Initial Catalog=TVNSPAYROLL;Integrated Security=SSPI;Trusted_Connection=True;"
Dim cmd As New SqlCommand(varSQL, conn)
Dim da As New SqlDataAdapter(varSQL, conn)
Dim dt As New DataTable
Dim _cnt, _cnts As Double
Dim _HasSchedule As Boolean
da.Fill(dt)
Using conn
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.HasRows = True Then
_cnt = 100 / dt.Rows.Count
_cnts = 0
While reader.Read
If e.IsStopped Then
Exit While
End If
e.UpdateProgress(_cnts, "Running...")
Dim ntb(28) As String
Dim _DayOfWeek As String
Dim _StartDate, _FWD, _LWD As Date
Dim _Days As Integer
Dim a, b, x, y, z As Integer
Dim _Hours(16), _DayHrs(7), _TotHours As Double
Dim _DayName As String
_ClientSched = New ClientSched
_ClientInfo = New ClientInfo
_StartDate = _ClientSched.GetStartDate(DropDownList1.Text, DropDownList2.Text)
_FWD = _ClientSched.GetStartDate(DropDownList1.Text, DropDownList2.Text)
_LWD = _ClientSched.GetLWD(DropDownList1.Text, DropDownList2.Text)
_DayOfWeek = Weekday(_StartDate)
_Days = _ClientSched.GetTotalDays(DropDownList1.Text, Year(_StartDate))
_DayName = ""
_HasSchedule = _ClientInfo.GetMasterInfo(reader(1).ToString, TextBox1.Text)
If _HasSchedule = True Then
_DayHrs(0) = _ClientInfo.SunHours
_DayHrs(1) = _ClientInfo.MonHours
_DayHrs(2) = _ClientInfo.TueHours
_DayHrs(3) = _ClientInfo.WedHours
_DayHrs(4) = _ClientInfo.ThuHours
_DayHrs(5) = _ClientInfo.FriHours
_DayHrs(6) = _ClientInfo.SatHours
_TotHours = 0
b = 0
x = 1
z = 4
z = (_Days + (_DayOfWeek - 1))
Select Case _DayOfWeek
Case 1
_DayName = "SUNDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
Case 2
_DayName = "MONDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days + 1
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
Case 3
_DayName = "TUESDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days + 2
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
Case 4
_DayName = "WEDNESDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days + 3
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
Case 5
_DayName = "THURSDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days + 4
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
Case 6
_DayName = "FRIDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days + 5
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
Case 7
_DayName = "SATURDAY"
x = _DayOfWeek - 1
a = _DayOfWeek - 1
y = x - 1
Do While y >= 0
ntb(y) = 0
y = y - 1
Loop
Do While x < _Days + 6
ntb(x) = _DayHrs(a)
_Hours(b) = ntb(x)
b = b + 1
x = x + 1
a = a + 1
If a = 7 Then
a = 0
End If
Loop
Do While z < 28 And z >= 16
ntb(z) = 0
z = z + 1
Loop
End Select
x = 0
Do While x < 28
_TotHours = _TotHours + Val(ntb(x))
x = x + 1
Loop
'tb58.Text = _TotHours
'lbl58.Text = "NEW ID"
_ClientSched.DeptNumber = TextBox1.Text
_ClientSched.datecode = DropDownList1.Text
_ClientSched.start_date = _StartDate
_ClientSched.start_day = _DayName
_ClientSched.client_number = reader(1).ToString
_ClientSched.day_1 = _Hours(0)
_ClientSched.day_2 = _Hours(1)
_ClientSched.day_3 = _Hours(2)
_ClientSched.day_4 = _Hours(3)
_ClientSched.day_5 = _Hours(4)
_ClientSched.day_6 = _Hours(5)
_ClientSched.day_7 = _Hours(6)
_ClientSched.day_8 = _Hours(7)
_ClientSched.day_9 = _Hours(8)
_ClientSched.day_10 = _Hours(9)
_ClientSched.day_11 = _Hours(10)
_ClientSched.day_12 = _Hours(11)
_ClientSched.day_13 = _Hours(12)
_ClientSched.day_14 = _Hours(13)
If Len(_Hours(14)) <= 0 Then
_ClientSched.day_15 = 0.0
Else
_ClientSched.day_15 = _Hours(14)
End If
If Len(_Hours(15)) <= 0 Then
_ClientSched.day_16 = 0.0
Else
_ClientSched.day_16 = _Hours(15)
End If
_ClientSched.YEAR = Year(_StartDate)
_ClientSched.BILLNOTE = "READY"
_ClientSched.BILLTYPE = "FIRST"
_ClientSched.BILLDATE = ""
_ClientSched.BILLPERIOD = ""
_ClientSched.BILLNUMBER = ""
_ClientSched.BILLERROR = ""
_ClientSched.SCHED_TOTAL = _TotHours
_ClientSched.FWD = _FWD
_ClientSched.LWD = _LWD
_ClientSched.Insert()
End If
_cnts = _cnts + _cnt
End While
e.UpdateProgress(100, "Finished...")
_ClientSched.UpdateSchedMaster(DropDownList1.Text, TextBox1.Text)
reader.Close()
conn.Close()
End If
End Using
End Sub
End Class
I have attempted to remove all of the SQL codebehind thining perhaps the progress bar sub routine could not handle it, but even now with just a sleep thread the progress bar willl not fire. I am sure this is a simple problem that I have overlooked, since this has worked on so many other web pages it would help us to get to understand how to integrate these tool sets into our page design. Thank you so much for any assistance. Max Lopez
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi,
Thanks for posting in the forum. We are not able to offer any support on your specific case unless you already have a license (officially we do not offer free support on free controls). So we can only offer a few general guidelines:
1. Try to get it working without your real SQL task code first. That is not to say there is anything wrong with your SQL code. But when it comes to troubleshooting the less code the easier;
2. Test the code in a separate standard alone page without a master page. This is the same idea as step 1;
3. Compare your test page with our sample page. Eventually you should be able to make the test page similar to our sample page. If the sample works and yours doesn't, then it should not be very difficult to locate the difference and find out what triggered the problem;
4. Alternatively, you can look into our client side JavaScript interface to see if you can trigger the progress bar on the client side. That will avoid any potential server side event issues;
Hope this will help you to get started.
Thanks!
|
Rank: Newbie Groups: Member
Joined: 6/3/2011 Posts: 1
|
Hello, Thank you for posting the thread. It was very useful as to how you implemented this and the problems you were having. As quoted by the support team, u should probably try splitting your one major SQL call into several functions and ask them to return a bool true/false on completion.
I followed what you did and it is working for me. I do SQL server calls, and print graphics. It works fine.
I use VS 2008 and the deployment is on IIS 7.0.
Please update us and thank you once more.
|