|
I'm trying out crystal reports in vs.net, with the wizard, and trying to use a stored procedure to populate the fields. I can select it as a table, but it's expand node does nothing when it comes to selecting the fields, and nothing is displayed at the end of the wizard, or when the app runs.
Does anyone have any ideas how to get the fields to be automatically extracted? The SP runs fine in query analyzer.
Thanks
|
|
|
|
|
Did you provide adequate credentials with which to log in to the database from the Crystal Reports designer?
Also, if you want any sort of portability of your code (i.e., not tied to a specific connection string), why don't you fill a DataSet from the stored proc and use that in the call to ReportDocument.SetDataSource ? The designer can bind nicely against DataSet s, and can even effectively make use of any relationships established in strongly-typed DataSet s (which make designing reports are them easier as well).
Something to consider...
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I was sa as the user on a local server. I saw the dataset option, but wasn't sure where or how to create the dataset (which is probably the answer). Do I create one inside the report and use that?
Thanks,
Chris
|
|
|
|
|
No, you create a typed DataSet in your project. Just right-click on your project (or subfolder) and clicked Add->Add New Item->DataSet. If you already have the tables you want added to your Solution Explorer (via a database connection), you can drag and drop the tables on the design surface. You can also set up relationships between table fields. You can easily fill that with a derivative of the DataAdapter class, then you instantiate your ReportDocument , call SetDataSource on it passing your typed DataSet , and display the report in whatever means you want.
And yes, if you're logging in as "sa" on the local db, you'll need to provide credentials since your using SQL (or whatever db) authentication as opposed to Windows integrated authentication (SSPI).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I got Object not set to an instance of object error. I have 1 Interface.dll, it contains interface classes for remote objects from RemoteObj.dll. I got problem when I use same namespace for interface and remote object classes. If I seperate them into 2 namespaces, will be fine.
Why? this is .NET restriction?
|
|
|
|
|
How can I retrieve ListViewSubItem's bounding rectangle?
ListViewItem has GetBounds, but I need bounds of specific subitem.
Thanks.
|
|
|
|
|
Adjust the rectangle based on the running sum of the column widths until that column. It's either that or going to the trouble of P/Invoking the SendMessage API and calling SendMessage with LVM_GETSUBITEMRECT . You'll also have to define the RECT structure. The System.Drawing.Rectangle is not an appropriate substitute. If you do it this way, you'll have little to no chance of being able to port your code to other platforms. The first way isn't hard and would work just fine.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I was already looking at the first method of doing it. I just thought that maybe there is some .net method somewhere that would give me that.
Thanks.
|
|
|
|
|
Anyone have code snipets or information on how to map a network drive in C# ?
|
|
|
|
|
Is there a particular reason why you need to map the network UNC to a drive letter? If not just stick with the UNC format. As far as I know all file manipulation works with UNC.
|
|
|
|
|
I'm with Tom on that. If you really need to (trying to substitute Windows with your application), you could always keep it simple:
Process.Start("net.exe", "use x: \\COMPUTERNAME\SHARENAME"); Otherwise, P/Invoke the NetUseAdd API from the Network Management APIs.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I'm trying to reconnect a mapped drive on user's machines. There are VPN issues with mappped drives being dropped.
P.S. I'm dealing with windows 98 machines....yuck
|
|
|
|
|
Hey
I have created a control with a ListView inside.
I have imported the control to a project in Visual C#,
I have also an own made balloon tooltip(PictureBox) in this form(project), this balloon tooltip will be visible only when the mose moves over the listView items in the control.
The Balloon tooltip will hover over an other part of the form(not in the controler), this is why i couldent have the Ballon ToolTip in the control.
No i have this problem
When i make a funktion(event) for mousemove(on the control in the project(form)) then it will just enter the funktion(event) when the mouse is going from one objet to another in the control, and not for every move(item).
I realy need it to throw this event every point the mouse is moving inside the control so i can fatch the info that the mouse is hovering above and display it in the Balloon tooltip outside the control.
it workt fine when i dident use a control, but then i just hade to use the MouseMove in the listview, now cant do that becourse the controler dont know of the ballontooltip and therby cant move or change it.
//Jimmy
PS Sorry for bad english
|
|
|
|
|
The List View common control - which the Windows Forms ListView encapsulates - handles most of this internally and some notification messages don't raise events as you might think (the MouseMove event is not overridden, and the List View common control handles this differently so the default behavior won't work).
Instead, you'll have to extend the ListView control, override WndProc , and handle the LVN_GETINFOTIP message (-157 on Windows (98/ME), -158 on Windows NT (NT/2000/XP/2003/and all future Windows OSes)). This is a WM_NOTIFY (message ID 78) notification message, so you'll actually get a pointer to an NMHDR struct in the LParam , which you can use Marshal.PtrToStructure to get.
For more information, see the documentation on the LVN_GETINFOTIP[^] notification message in the Platform SDK on MSDN Online.
You might also search CodeProject since there's many articles on customizing ListView , though I don't remember any dealing with tool tips off the top of my head.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I dont understand what you are saying.
Is ther no simple way to let my project know when the mouse is moving over the listview in my controler?
I cant just use the control event MousMove i realy need the contrler to tel my project what item the mous is hovering abouv in the control.
I dont see why i need to build my own ListView to do this?
if i dident use the control and just have the ListView right in my project, then it works fine. What i need is to pass event to the controller that tels my project that the mous is now hovering abouv post nr 3.
//Jimmy
|
|
|
|
|
If the ListView class doesn't raise the event, then it doesn't raise the event. You're not building your own anyway, you're extending the existing ListView class and handling the notification messages of the List View common control that the ListView class encapsulates. Welcome to the world of component development. The controls in System.Windows.Forms do not expose everything that their underlying Windows common controls are capable of. That's one reason that WndProc is left as virtual for the controls so that you can override it and provide additional functionality. Many developers override ListView to provide additional column sorting, background colors for sorted columns, icons in the column headers, and more. You just need to do this for the tooltip notification message (or rather the message sent to get information for the tooltip).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks.. i will look in to it as soon as i can.
But say that an event(MousMove) is evoken at this listView in the control, cant i just throw a new event from this listview event to a control MousMove.
I whant the controls MousMove to be evkoen when then listViews int the control is Evekone
//Jimmy
|
|
|
|
|
One ot the strange things is
A normal MousMove will respond as sone you move the mouse. But when i use the MousMove on this control(compunent) it is only throwing the MousMove when it enters och leaving a control in the control, is this not strange? shold i not throw the MouseMove every litle move i make with the mouse in the control?
//Jimmy
|
|
|
|
|
The message you'd be handling is not the mouse move message. It's the LVN_GETINFOTIP . Take a guess as to what it does. This is closer to the point of your code than handling mouse movements.
If you want to handle the mouse movements in the List View - which do work a little differently inside the recessed client area - then the easiest way to invoke the event handlers is to simply call base.OnMouseMove from your notification message handler with an instance of a MouseEventArgs that you'd have to create and fill-in appropriately.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey
Thanks for the answare
Do you know where i could find some explination or code ex on this mather?
The Online MSDN was not so explinable.
//JImmy
|
|
|
|
|
But are we realy talking about the same thing?
again: i have got the litview to work with my ownBalloon tip in a simple form, by using the listview event MousMove. in this case i got the listwiev and my own ballon tip(picture box) in same project(form).
Now i want to make a control of the listview, and then i cant have my own Balloon tip in the sam control. This balloontip will be visible in other parts of the form not near the listview, thats way.
when i copy the listView and the code to a control and then make the dll file and then inports it to my project there i got my own made Balloon tip. at this point i need somthing forwarding the listViews MouseMove to the controler, so i can fetch info for the ballon tip in the form.
I thought that i could just use the controlers(with the listview inside) MouseMove and on every Mouse move in this controler get the right item from the listview.
But the MouseMove on the control dont work as the listView MouseMove did.
The ListView MouseMove event was thrown every time the mouse moved with in the listview(thing its the case for every Windowsform control(buttons,picturebox and so on). But the controler is not working this way, its only throwing the MouseMove event when the mose is exiting or entering objects(Buttons,listView ans so on) from the right. Why is it not throwing the MouseMove event for every Mouse move over the controler the way the listView do?
The information that the mouse is hovering abouv is no problem to fetch, the problem is to get the controler to throw MouseMove event every time the mouse is moving abov the control.
I thougt that it would work if i did this:
Creat the funktion to MouseMove for thw listView in the controler.
The in this MouseMove throw a event to the controls MouseMove.
And then i hopt that i just could creat the controls MouseMove(in my project/form not in the control) and that this event would be thrown every time the mouse is moving over the listView in the control.
hope you got my problem better now?
//Jimmy
|
|
|
|
|
I know what your problem is, and I'm saying that you're solving it the wrong way. There is already support for tooltips in the List View common control - even if you don't use the system's provided tool tips (like you seem to be using a balloon tool tip). The idea is to draw upon this behavior rather than trying to hack a solution.
If you really want to use the mouse move events, read about the List View common control at http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/listview/reflist.asp[^]. If .NET isn't raising the MouseMove event for the list client area, you're going to have to make it do so.
Frankly, though, I don't even know why you're not getting MouseMove events when in the ListView . I ran the code successfully below with no problems:
using System;
using System.Windows.Forms;
public class Test : Form
{
static void Main()
{
Application.Run(new Test());
}
public Test()
{
ListView view = new ListView();
this.SuspendLayout();
this.Controls.Add(view);
view.Dock = DockStyle.Fill;
view.MouseMove += new MouseEventHandler(view_MouseMove);
this.Text = "Test";
this.ResumeLayout();
}
private void view_MouseMove(object sender, MouseEventArgs e)
{
Console.WriteLine("{0}, {1}", e.X, e.Y);
}
} I got coordinates the entire time.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
There are some similar examples here on CodeProject. Just search for keywords like "ListView". You can also try googling. It's all a matter of research.
The thing that you'll really need MSDN for - and to make finding message IDs easier, download the core Platform SDK from there - is to find information about Windows messages and those specific to the common controls. Familiarity and experience with Win32 programming will definitely help.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey!
Thanks for al you help.
I have now manage to fix this problem, but not the way you explained.
This was done: I created a event(lookt in the MSDN how to do) in the controller that reacted on MouseMove over the ListView, and this works fine. A saml problem was that the mouse point wasent sent in the event(didnt know how to do that) so i med a GET funktion instead.
I most say that i realy fill lika a newbie when i read your solutions, thay are not easy to understand.
Best Regards
Jimmy
|
|
|
|
|
First, there is no "controller". I'm guessing you mean "control". The MouseMove event must be handled. Are you saying this entire time that you were NOT actually handling the MouseMove event? I thought you said it wasn't be fired when you moved the mouse from within the ListView ? I'm sorry, but I just don't understand what you're even having problems with.
Microsoft MVP, Visual C#
My Articles
|
|
|
|