|
Ah, now I see. You're representing a "vendor".
|
|
|
|
|
The easiest way to do this is to use Sharepoint, and save your Excel spreadsheet as an Excel Web App[^].
|
|
|
|
|
Thank you all for your suggestions. Let me put this (Share Point) to my manager.
|
|
|
|
|
Another possibility:
1. Keep in the backend "Your Excel Sheet based service". This can be implemented in you web server as a singleton (for perfomance) object that uses Interop for interacting with you Excel sheet.
2. Your web app, queries "Your Excel Sheet based service" to get the grid data to send to the browser
3. The browser displays your data using one of the Javascript grids.
4. The user modifies the data using the Javascript grid editor.
5. Any change is sent as a browser request to your web app (via Ajax or page reload)
6. Your web app, updates "Your Excel Sheet based service", so Excel applies the macros and calculations, and the new values are sent to the web browser on the request response (Ajax or page content)
Conceptually you get everything, and the best of both worlds. The good part is that you do not need to reimplement all your Excel logic (macros, formulas,...), the bad part is that you need to reimplement all the interface to reach this logic (grid cells paradigm, REPL cycle, ...)
Although it can be done, in practice this is far from an ideal solution as:
- An strategy is needed to avoid multiple users locking your Excel resource
- Using interop in the server might lead to memory leaks and stability issues. Also it can easily become a CPU resource hog.
- User interface and usability is greatly dependant on the chosen grid, and might depart greatly from Excel look and feel
Although the cons can easily overweigth the pros, depending on your requirements (number of users, complexity of Excel logic..), budget, resources and available time can be a way to go.
|
|
|
|
|
Hi Jose Segarra,
Thanks for your response and it looks interesting. I started using jQuery.sheet plugin. which is almost doing the same, but facing many challenges to integrate any new change.
thank,
Sujana
|
|
|
|
|
|
I have the following logic where I compare 2 table and shoe the difference if rows exists in both tables. How can I add rows to table3 that only exists in table1 or table2?
Dim tableC = New DataTable()
tableC.Columns.Add(New DataColumn("CurrentYear"))
tableC.Columns.Add(New DataColumn("PreviousYear"))
tableC.Columns.Add(New DataColumn("Status"))
For Each rowA As DataRow In dtBenefitsCurrent.Rows
For Each rowB As DataRow In dtBenefitsPreviousYear.Rows
If rowA("BenefitTypeDesc").ToString() = rowB("BenefitTypeDesc").ToString() AndAlso (rowA("InNet").ToString <> rowB("InNet").ToString ) Then
Dim newRow = tableC.NewRow()
newRow("BenefitTypeID") = rowA("ID")
newRow("BenefitTypeDesc") = rowA("BenefitTypeDesc")
newRow("CurrentYear") = rowA("InNet")
newRow("PreviousYear") = rowB("InNet")
newRow("Status") = "Edited"
tableC.Rows.Add(newRow)
End If
Next
Next
|
|
|
|
|
That should probably be done on the database (server?), using an SQL-statment. There it would be relative easy to manipulate your where-clause.
You're now comparing in-memory datasets. You could still iterate it for each record in table1 and see if it is contained in table2 (look up over the primary key). Also the other way around, see if anything from table2 is contained in table1. Write those to table three.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I am new at website development, I have taken videos to from to develop website. I am getting error that is following,
------------------------------------------------------------
Directory Listing -- /MyWebTutorial/
--------------------------------------------------------------------------------
Thursday, October 09, 2014 04:59 PM <dir> bin
Thursday, October 09, 2014 04:49 PM <dir> Images
Thursday, October 09, 2014 05:20 PM <dir> JavaScript
Thursday, October 09, 2014 06:51 PM 2,070 MasterPage.Master
Thursday, October 09, 2014 04:18 PM 343 MasterPage.Master.cs
Thursday, October 09, 2014 06:51 PM 782 MasterPage.Master.designer.cs
Thursday, October 09, 2014 06:51 PM 4,968 MyWebTutorial.csproj
Thursday, October 09, 2014 06:51 PM 1,088 MyWebTutorial.csproj.user
Thursday, October 09, 2014 04:15 PM <dir> obj
Thursday, October 09, 2014 04:15 PM <dir> Properties
Thursday, October 09, 2014 04:28 PM <dir> Styles
Thursday, October 09, 2014 05:45 PM 2,014 Web.config
Thursday, October 09, 2014 04:15 PM 1,285 Web.Debug.config
Thursday, October 09, 2014 04:15 PM 1,346 Web.Release.config
--------------------------------------------------------------------------------
Version Information: ASP.NET Development Server 10.0.0.0
|
|
|
|
|
That's not an error, but a directory-listing. It shows all the files in that folder.
Are you sure that ASP.NET is configured correctly on the webserver? And where is your landing page? I do not see a default nor an index-page?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi,
I have developed a windows application that is used on a bunch of PC's on our network. I distribute it with click-once deployment.
On a couple of PC's certain GUI elements do not display / work as expected. For example, one of the forms contains a DataGridView, that has been set to not allow adding new rows. On one of the PC's mentioned however, the new row is visible, it does allow adding new rows. On another PC a form's title and a label on a StatusBar do not display at all.
Has anyone else ever come across this phenomenon ? Where should I look to fix this ?
Any help appreciated.
Regards,
Johan
My advice is free, and you may get what you paid for.
|
|
|
|
|
Is it "a datagridview" that displays said behaviour, or do all dgvs in the application show the extra row? If there's only one form in your app that's using the dgv, I'd try to write a small app to reproduce the behaviour to confirm it using the minimal code.
If it is "one" control that is misbehaving, then the problem is probably in handling the control, not the control itself. I'd be checking the application for any constructs to swallow exceptions.
Different ways of displaying a control, yes, that I would expect - since there have been multiple versions of the common controls, with flat controls introduced later.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi Eddy,
Eddy Vluggen wrote: ...I'd try to write a small app to reproduce the behaviour to confirm it using the minimal code.
Thanks, I will try that
Eddy Vluggen wrote: If it is "one" control that is misbehaving, then the problem is probably in handling the control, not the control itself. I'd be checking the application for any constructs to swallow exceptions.
I will check this. As the behavior is not happening on other PCs though, could it be possible that one PC (or .net framework) handles events and such in a different manner / order than another ?
Eddy Vluggen wrote: Different ways of displaying a control, yes, that I would expect - since there have been multiple versions of the common controls, with flat controls introduced later.
Again, could that be dependent on the .net framework version ?
Regards,
Johan
My advice is free, and you may get what you paid for.
|
|
|
|
|
Johan Hakkesteegt wrote: could it be possible that one PC (or .net framework) handles events and such in a different manner / order than another ? Highly unlikely, as it would break a lot of applications.
Johan Hakkesteegt wrote: could that be dependent on the .net framework version There's a change in NET 4.5 for resizing[^], but haven't seen anything specific in the other "what's new" articles. Even if there's a manifest saying to use the "new" common controls, I would not expect very different behaviour - a different look, yes, but changing the behaviour breaks existing apps.
There's a list on the versions here[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
How can I enable RadComboBox based on selection using Ajax inside master page?
<asp:Content ContentPlaceHolderID="ContentPlaceholder" runat="server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="rblStateSchool" RepeatDirection="Horizontal"
AutoPostBack="true">
<asp:ListItem Value="State" Text="State"></asp:ListItem>
<asp:ListItem Value="School" Text="School"></asp:ListItem>
</asp:RadioButtonList>
<asp:RequiredFieldValidator runat="server" ID="rfvStateSchool" ControlToValidate="rblStateSchool"
CssClass="errorMessage" ErrorMessage="* Required"></asp:RequiredFieldValidator>
<telerik:RadComboBox ID="rcbGroups" CheckBoxes="true" AllowCustomText="false" runat="server"
DataValueField="GroupID" DataTextField="GroupName" Enabled="False" EnableViewState="true"
EmptyMessage="<Please Select>" Width="500px" EnableCheckAllItemsCheckBox="true"
AutoPostBack="true">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "GroupName")%>
-
<%# DataBinder.Eval(Container.DataItem, "GroupID")%>
-
<%# DataBinder.Eval(Container.DataItem, "ContractStateCode")%>
</ItemTemplate>
</telerik:RadComboBox>
|
|
|
|
|
Have you tried the Telerik forum? Compared your code against their demo-project?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Because u did enabled=false. Make it true
Sankarsan Parida
|
|
|
|
|
This is the same program as the post below
I designed my windows service to run on a timer, and check the queue for email jobs.
So a job is queued, and I run the job on a new thread.
Question: Is this dumb to do and a waste of time?
I have the thread working now, but I need to be able to stop the thread or check on it's progress if the net stop is called, or power down while running. So I guess I need a delegate.
So this leads to the next question; how to write a delegate.
I used this post, http://tech.xster.net/tips/multi-threading-in-vb-net/[^]
but I don't understand where to place the code.
So I have a service code file, and a thread code file.
I call the thread here in the timer
[smtpMessenger.vb]
jRUN = New messageSender()
Dim dwRCode As Integer = jRUN.messageSender(
sJOBS(idx),
G_JOB_TIMER
)
And then this is my thread
[messageSender.vb]
Public Class messageSender
Inherits send_Message_Broadcast_Record
Implements IDisposable
Dim disposed As Boolean = False
Public M_RUNNING As Boolean
Public M_MAILINGLIST_ID As Integer
Public m_EMAILS_SENT As Integer
Public m_STOP As Boolean
Private mJOB As structure_CRM_JOBS
Private mList() As structure_MailingList_Array
Private M_JOBTIMER As System.Timers.Timer
Public Function messageSender( _
ByVal pJOB As structure_CRM_JOBS,
ByRef P_JOBTIMER As System.Timers.Timer) As Integer
Dim dwExitCode As Integer = 2
Dim ms_Container As messageSender = New messageSender()
ms_Container.mJOB = pJOB
ms_Container.M_JOBTIMER = P_JOBTIMER
ms_Container.m_STOP = False
Dim eLoader As New email_address_loader()
Dim e_count As Integer = eLoader.get_malingList_Count()
ReDim ms_Container.mList(e_count - 1)
eLoader.load_mailingList_Array(ms_Container.mList)
If Not (M_JOBTIMER Is Nothing) Then
M_JOBTIMER.Stop()
End If
Dim msThread As Thread = New Thread(New ThreadStart(AddressOf ms_Container.messageSender_Proc))
msThread.Priority = ThreadPriority.Lowest
msThread.IsBackground = True
msThread.Start()
msThread.Join()
Return dwExitCode
End Function
I could really use some help here, perhaps just some remarks like delegate here, this there to get a better understanding of how to use the delegate on my current code.
|
|
|
|
|
If it can be avoided do not kill a thread for outside, but try to set it up that it can be start/hold/stop in a normal way...
Please read here: http://msdn.microsoft.com/en-us/library/7a2f3ay4(v=vs.90).aspx[^]
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
How frequently is your timer running? It might be simpler to create a console application to check the queue and send the mail, and then use the Windows Task Scheduler to schedule it to run every n minutes.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I agree 100%. Now I know why you guys suggested just writing a console app first.
But I made it past the painful part, and figured I would just finish the windows service.
I haven't really set the timers yet. I have 2 timers, 1 check timer and 1 job timer. I figure the check timer would run twice a day and book jobs for the job timer, the job timer would only run if jobs are present.
Would of been much easier to just write a console app and schedule each job individually.
I'm almost done, just need to start and stop the send message thread if I stop the service while jobs are running.
[EDIT]
I choose the windows service because I run the website on a server core with minimum GUI. My preference was server core with no GUI, but I needed the shell window in order to use FFMPEG, which is a console app. So the console app left a bad taste, and I opted for writing something for use in the future.
modified 6-Oct-14 13:33pm.
|
|
|
|
|
I stated my service project.
So I could not find instalutil on my hard drive, searched, OK, you just write a built-in one.
So I guess I need to get it installed first, and then running so I can attach to it to use the debugger.
Found this here on CJ
Translated it to VB
I think the path is wrong that I'm feeding to the installer class _servicePath, but I can't figure out a way to check the value.
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
Public Shared Function install() As Integer
Dim dwExitCode As Integer = 2
Try
Dim servicePath As String = Reflection.Assembly.GetExecutingAssembly.Location
smtp_messenger.eventLog1.WriteEntry(servicePath, EventLogEntryType.Information, 1)
Dim pathArray() As String = {servicePath}
ManagedInstallerClass.InstallHelper(pathArray)
dwExitCode = 0
Catch ex As Exception
dwExitCode = 1
smtp_messenger.eventLog1.WriteEntry(ex.Message, EventLogEntryType.Information, 1)
End Try
Return dwExitCode
End Function
Plus I don't get the eventlog thing, Am I using this right here? The MyServer, Should I replace that with my machine name?
eventLog1 = New System.Diagnostics.EventLog()
If (Not System.Diagnostics.EventLog.SourceExists(eventSourceName, "MyServer")) Then
System.Diagnostics.EventLog.CreateEventSource(eventSourceName, logName)
End If
eventLog1.Source = eventSourceName
eventLog1.Log = logName
eventLog1.WriteEntry("Service has installed successfully", EventLogEntryType.Information, 1)
So I guess in a service, you can't display a message box. Not sure about the console line, I just need to be able to see some values so I can at least get the service installed and running.
|
|
|
|
|
It was the event log cal to CreateEventSource, I guess you have to manually create the key first and the parameters before you can use the service. And assign permissions as well.
So I rewrote it to this
Dim mySourceName As String = "smtpMessenger"
Dim myLogName As String = "Application"
Dim myServerName As String = Environment.MachineName
eventLog1 = New System.Diagnostics.EventLog()
If Not (System.Diagnostics.EventLog.SourceExists(mySourceName)) Then
Dim eventSourceData As EventSourceCreationData = New EventSourceCreationData(mySourceName, myLogName)
eventSourceData.Source = mySourceName
eventSourceData.LogName = myLogName
eventSourceData.MachineName = myServerName
System.Diagnostics.EventLog.CreateEventSource(eventSourceData)
End If
eventLog1.Source = mySourceName
eventLog1.Log = myLogName
eventLog1.MachineName = myServerName
About event ID's, I assigned an ID of 1 for creating the install, but I get this message, any help would be appreciated.
The description for Event ID 1 from source smtpMessenger cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
Do I have to create a description file for each ID I assign to an event?
|
|
|
|
|
1. Service can not interact with UI (messages) by default, but it can be changed. However the better way is to use some helper that reads the state/configuration of a running server and adjust it as needed...
2. I didn't understood the other parts - are you trying to create a self installing service?
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
This is my first service that I'm composing.
I need some ideas on how to store and pick up stuff like database sql connector, and other stuff.
I'm thinking registry keys, so is it normal to write a windows app that stores information for the service to pickup?
I guess the windows app could also start and stop the service as well, and give the status of the service.
Just looking for some ideas here, based on your experience.
|
|
|
|
|