Dynamic Creation Of Rdlc Reports?
Dec 16, 2010How can i add columns to rdlc report at runtime in windows based application using vb.net
View 1 RepliesHow can i add columns to rdlc report at runtime in windows based application using vb.net
View 1 RepliesI have a report that I need to run multiple times and save as PDFs. I am currently generating the report as a PDF programatically but want to save the reports without the user having to choose the save option manually each time.
The code I use to render a single report as a PDF is:
Dim warnings As Microsoft.Reporting.WebForms.Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
[Code]....
I was figuring I could run it in a loop and save the PDF each time.
I have a custom business object which overloads the .ToString() function. It also implements IFormattable.ToString, so I can define my own custom formats.This approach seems to work everywhere in my app, except .rdlc reports. For example, I have a text field on a report with the following expression:
=Fields!MyField.Value.ToString("lr")
"lr" is a custom format I have created. When running the report I always get #Error as the output. I've placed breakpoints in my .ToString function and stepped through the code as the report is running, and I know the function is returning the correct value, but the report just doesn't seem to be capable of receiving and displaying it.
I've been googling around to find a way to dynamically assign a DataSet to an rdlc report but i was unable to find a clear method to do it.Does anyone know if there is a way? I end up trying to use this method because i also found no way of adding parameters to the rdlc report. The VS documentation is vague on this issue..
View 4 Repliesdirectly here is the issue:a "OpenFileDialog" on a windows form is made to choose a picture and then insert it into a rdlc report under VB.net 2008 so i need the exact command to access any picturebox in the rdlc report.
i used to do the job under VB6 as the following:Set ReportName.Sections("SectionName").Controls("Image2").Picture = LoadPicture(fileName)
I have a form that requires 5 columns of textboxes that the user will populate. By design I will provide the first row but, the user will need the ability to add or delete subsequent rows. Is there an easy way to approach this requirement?
View 19 RepliesI need some input refactoring an asp.net (c#) application that is basically a framework for creating dynamic forms (any forms). From a high level point of view, there is a table that has the forms, and then there is a table that has all the form fields, where it is one to many between the two. There is a validation table, where each field can have multiple types of validation, and it is a one to many from the form fields table to the validation table.
So the issue is that this application has been sold as the be-all-end-all customizable solution to all the clients. So, the idea is whatever form they want, we can build it jsut using DB configurations. The thing is, that is not always possible, because there is complex relationship between the fields, and complex relationship between the forms themselves. Also, there is only once codebase, and this is for multiple clients - all of whom host it on their own. There is very specific logic for each of the clients, and they are ALL in the same codebase, with no real separation. Sometimes it was too difficult to make it generic, so there are instances where it has hard coded logic (as in if formID = XXX then do _). You can also have nested forms, as in, one set of fields on its own within each form.
So usually, when one client requests a change, we make the change and deploy it to that client - but then another client requests a different change, and we make the change and deploy it for THAT client, but the change from the earlier client breaks it, and its a headache trying to debug, because EVERYTHING is dynamic. There is no way we can rollback the earlier change, because then the other client would be screwed.
Its not done in a real 3-tier architecture - its a web site with references to a DB class, and a class library. There is business logic in the web site itself, in the class library, and the database stored procs (Validation is done in the stored procs).
I think this is a bad model in general, because one of the things I heard one of the developers say is that anytime any client makes a change, we should deploy to everybody - but that is not realistic, if we have say 20 clients - there will need to be regression testing on EVERYTHING, since we don't know the impact...There are about 100 forms in total, and their is some similarity in them (not much). But I think the idea that a dynamic engine can solve ALL form requests was not realistic as well. Clients come up with the most weird requests. For example, they have this engine doing a regular data entry form AND a search form.
There is a lot of preserving state between pages, and it is all done using session variables, which is ok, except that it is not really tracked, and so sessions from the same user keep getting overwritten, and I think sessions should be got rid of.Should I really just rewrite the whole thing? This app is about 3 years old, and there has been lots of testing and things done, and serious business logic implemented, so I hate to get rid of all that (joel's advice). But its really a mess of a sphagetti code, and everything takes forever to do, and things break all the time because of minor changes.
I've been reading Martin Fowlers "Refactoring" and Michael Feathers "working effectively with legacy code" - and they are good, but I feel they were written for an application that was 'slightly' better architected, where it is still a 3-tiered architecture, and there is 'some' resemblance of logic..
I have a reguirement to enable the creation of excel workbooks from sql stored procedure. To do this I want to create a vb class to generate and save the excel files. Then and ASP.net page will enable opening the excel file via the browser or enable the user to download the file.The class should be able to be called from a vareity of pages within the web app and have the ability to handle 8 to 10 separate stored procedures that will return various data sets.
View 2 RepliesI'm trying to build a form which generates itself as it is used. I have created a really simplistic example, loosely related to what I'm trying to do below, but which demonstrates the problem.The user types a word in the text box, clicks the Button and a new TextBox is loaded into a Panel, with the value in the original TextBox that the user has entered. The user should then be able to type something else/the same and create another text box with that in it by clicking the button, basically permitting 0,1,..,n textboxes appearing above the "txtFeeder" TextBox on the form.The problem is that everytime you click the button, it doesn't add a new control, it seems to just update the one that has already been created with the new (incremental) ID. I'm not sure if I'm doing something wrong, or if what I'm trying to do can't be done (which I find hard to believe)?Here's the .aspx...
<form id="frmMain" runat="server">
<asp:Panel ID="pnlAdded" runat="server"></asp:Panel>
<asp:TextBox ID="txtFeeder" runat="server"></asp:TextBox>[code].....
I am trying to get the hang of Dynamic loading of objects from assemblies on the same machine (But NOT part of the same project).In the sample below, Form1 implements an interface built as part of the .dll I placed in C:Release. I am trying to create a local instance of Form1, and Cast it as Iform, so that the local code can access the properties and methods exposed by the interface.The assumption here is that at runtime, local code will have access to the String name of a form, and an interface which is implemented by the form (and is compiled into the .dll as well as the client application), and that is it.
When I run this code, I get a exception: "Unable to cast object of type 'WindowsApplication1.Form1' to type 'WindowsApplication1.Iform'.
Public Function fApplicationObject() As Iform
Dim sLocation As String = "C:ReleaseWindowsApplication1.dll"
Dim sType As String = "WindowsApplication1.Form1"
[code]....
I seem unable to dynamically load an object from a dll and then utilize an interface to access it's properties and such.
I am trying to make a program that will include a drag/drop view where you can arrange objects around in a view and add/delete objects as needed (objects are actually controls I create dynamically), I have made some code which I include below.If I run this code it works but not the part when I click on a newly created control, then mousemove function is not used, I should be able to move controls using the mouse functions..but these do not work. I thought code like:
AddHandler logicif(i).MouseMove, AddressOf logicif_MouseMove
should work! Can anyone give me pointers on what I am missing?
Public Class Form1
Dim logicif(20) As Panel
Dim count = 0
[code]....
Every time i enter set of values like Group Name,Group Abbreviation,URL in the text boxes and click the save button automatically its saves in the database and for each set of values a new details view has to be generated dynamically with a web panel and the header of the web panel should have the value of Group Name.
Example:
[Code].....
A new details view with web panel like the above has to be generated every time the save button is clicked.
Can i create a table with the input taken from user at runtime from vb.net.?
From vb.net in sqlserver 2008
I'm currently working on a program where I'm trying to dynamically create a picture box, a button, and a label for each item in a text file. Any ideas on how to do this? What I have: a plain text file with a list of numbers. Each number corresponds to a location. When that file is read, I want to create a picture box, a button, and a label related to each number. If I want to add something to the screen, all I Have to do is add a number to the file. So, lets say the file has. 1, 2
When the file loads, it will create a unique item on the display for each location. say pic1, button1, and label1 and pic2, button2, and label2. Right now, if I add something to the file, I have to go back into the editor and manually add everything. Which is a pain.
I have started a new blank project for VB 2007. I have taken the old code (VB 2003) and added it to the project.The line marked below worked on the old VB, now it does not. I get the following error:
Object reference not set to an instance of an object.
Troubleshooting tips:
Use the "new" keyword to create an object instance.
Check to determine if the object is null before calling the method.I have tried several forms of using the "New" keyword and still get the error.
Public Sub BuildChooseFileMenuItems()
Dim k As Integer
Dim numChecked As Integer
[code].....
i need to create sql tables based on user needs lets say a guy needs a table of 4 rows 5 columns other user needs 3 rows 3 columns each with different types so how is the best way for letting them choose like they write in a text box ( this will be the value of rows)4 and another text bvox the count of columns and i have those 2( rows and columns needed) numbers i create the table as is.based on those. by default i create type as varchar max then later on we must fill the table using datagrid.
View 14 RepliesI have a simple windows form that i would like to send the values of a few textboxes and comboboxes to an rdlc report after saving them (I have VS 2005 standard, so no crystal reports) - it's as follows:
-1 form
-3 textboxes - textbox1, textbox2, textbox3
-1 label - label1
-1 combobox - combobox1
-5 buttons - button1, button2, button3, button4, button 5
the textboxes are labeled length, width, height the combobox is labled unit of measure and contains two options - inches or centimetres the label has text of "your total cubic inches/centimetres is:" - followed by the unit of measure selected.the buttons are labeled save, calculate, print, print preview, and exit.Having said all of the above, the save, calculate and exit button code is easy enough and is good to go - it's print and print preview i'm stuck on the solution i'm after is to take those values and send them to an rdlc report that immediately prints (calls up the default printer dialogue) without preview or anything when the print button is clicked and also have a print preview function as well for when of course the print preview button is clicked.The report has already been created with the titles mentioned above..
I have created a project which takes the database dyanamically....
Means when the application starts it will ask for the database path....the database will already be created in some or the other folder....
The path for database is stored in one text file....
It is an access database....
While creating crystal report I had created the report using the database....but that became static...and the report is not able to fetch the records since it is not getting the database
Now I want that while the application runs....a connection should be set up to the dyanamic database path and the report should be viewed....
how shud I create the database connection for crystal report in vb.net
Crystal Reports not showing after dynamic data insert.
View 4 RepliesI am creating reports in Crystal Reports that is integrated within Visual Studio 2008, and I noticed that some of the features are disabled. One is the ability to link tables with a Right Outer Join or Full Outer Join. I also cannot "Show SQL Query" in Crystal Reports. Is this something I can enable or do I have to purchase or upgrade?
View 1 RepliesBasically, I am looking for a method on how to preview reports from a datagrid or it can be from the access database which populates the data to the datagrid (then displays this in the datagridview) in vb.net vs 2010.I believe there are two methods using the ReportViewer or using Crystal Reports, but so far, I have no idea how to get them to work. The first idea would be favourable - using the data from a datagridview (which may of already been sorted, filter etc) and be able to produce a report on that.
View 1 Repliesi am developing an application in vb.net having crystal reportsi have stored all my reports in a folder called report in my applicationbut initally when i executed i got a error msg like the report doesnot exixts in debug folderso i copied all the reports from report folder to debug folder & its workingany changes that i mke in report folder needs to be copied into the debug folder alsois it possible that the reports be executed from reports folder only & not from debug folder as everytime i need to make changes in the debug folderhow can i chnage the path to reports folder
View 1 RepliesHow can we create a report in vb.net without using any crystal reports
View 11 RepliesI am working on VB.NET(Visual studio 2008)..I completed developing my application and i need to deploy the application. I tried it and faced problems in some areas like adding crystal reports to the setup and deployment. I created a setup file to my application and everything is fine except crystal reports...its showing the error like; An error occurred in crystalDecisions.Reports, crystalEngine threw exception.
View 2 Repliesi have created a dynamic tabpage and a dynamic tablelayoutpanel inside it then added dynamic textboxes and labels inside the tablelayoutpanel...the thing is , i am having a problem on how to access the value of those textboxes and labels and add them as new columns in the new table(tagpage) in mysql database, i can already create the table in the database but i cant add the new columns in it. heres the code for accessing the values of the labels and textboxes
error: NullReferenceException was unhandled....Object variable or With block variable not set.
sql = "alter table " & tbl_selected(counter) & " add " & frmMain.Controls("TLP_" & SecArrList_sp(counter2)).controls.item(SecArrList_sp(counter2) & "label" & counter).Text & " varchar(100) NULL;"
I would like to bind a DataGridView to a different LINQ query every time (in order to reuse the same form/DGV for different queries), like this:
[Code]....
but the "Qry", and the number of comboboxes, and their field names would change every time.
Basically i have one TabControl with a form and 2 browsers within one form I have ProBlem To call the dynamic browser to navigate with dynamic Textbox.text
[Code]...
I need to represent the following query using LINQ:
DECLARE @PurchasedInventoryItemID Int = 2
DECLARE @PurchasedInventorySectionID Int = 0
DECLARE @PurchasedInventoryItem_PurchasingCategoryID Int = 3
DECLARE @PurchasedInventorySection_PurchasingCategoryID Int = 0
[code]....
Now, I know that a query in .NET doesnt look like this, this is my test in the SQL Design Studio. Naturally VB.NET variables will be used in place of the SQL local variables.My problem is this: All of the conditions after "WHERE" are optional. In that a query might be made that uses one, some, all, or none of the conditions. V.PropertyID and V.Value can also appear any number of times.In VB.NET I can make this query easy enough by simply concatenating strings, and using a loop to append the "V.PropertyID/V.Value" conditions.I can also make a Stored Procedure in MS SQL, which is easy enough.However, I want to accomplish this using LINQ.
Ive managed to dynamically create a form, and dynamically create a timer, but i have not been able to create the timer on the dynamic form. Specifically, i need to be able to have the timer itself create another form with a timer. (I realize that this would create a new form every interval on the timer, that is what i want to do)
1. A way to add the timer to the dynamic form, and maintain the timer sub on my main form.
2. A way to create the whole thing over (dynamic form and timer) through the previous dynamic form and timer.
I was thinking i could use a collection/array to store the forms and timers, but i'm still having trouble figuring out how to add entire forms or timers into a list. (A timer is not considered a control, so i cant use a controlcollection...)
Heres my code;
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim frm As New Form
[Code]....
*EDIT* Btw, my idea was to use i as a variable that increases every time a form is created, then insert the form into the array, with i as the integer. i just need to know how to create a new form with a different name each time. (as with timers)
I have and existing .rdlc file where I display the grades of each students as well as the general average. I get general average like
=FormatNumber(Switch(Fields!YearLevel.Value="LC7" or
Fields!YearLevel.Value="LC8",(IIF(Fields!SectionName.Value<>"1st Sec A" and
Fields!SectionName.Value<>"2nd Sec A",
[code]....
I want to display:
"1st Honor" if gen. ave is >=90 but all the subject grades must be >=90 also
"2nd Honor" if gen. ave is >=88 but all the subject grades must be >=88 also
"Third Honor" if gen. ave is >=85 but all the subject grades must be >=85 also
How do I do it?