|
Create an expression (a new report variable) and group by that. There is also an option in the group properties dialog to use an expression or logical criteria, but since I don't have CR on this machine, I can't look at it right now to produce a relevant example...
What a piece of work is man, how noble in reason, how infinite in faculties, in form and moving how express and admirable . . . and yet to me, what is this quintessence of dust? -- Hamlet, Act II, Scene ii.
|
|
|
|
|
Thanks John. I think I will need a reference/url to understand what exactly you're trying to say. Otherwise, I think I will just hit the bookstore tomorrow.
Norman Fung
|
|
|
|
|
Sorry... hope you find what you are looking for... although the CR help might have had something about that, too.
What a piece of work is man, how noble in reason, how infinite in faculties, in form and moving how express and admirable . . . and yet to me, what is this quintessence of dust? -- Hamlet, Act II, Scene ii.
|
|
|
|
|
No problem John, thanks anyway.
Norman Fung
|
|
|
|
|
You may also want to look at this free online crystal report book:
Click Here![^]
Don't forget, that's Persian Gulf not Arabian gulf!
Murphy: Click Here![^]
|
|
|
|
|
I have gone thru first few chapters... I don't think I found what I needed yet - well, perhaps next chapter
Norman Fung
|
|
|
|
|
|
I have a badge printing application (done in C#) that uses Cyrstal Reports to print plastic badges.
Now I am required to do encoding on the badge's magnetic strip. In the past I have done this by sending printer command codes directly to the printer. These command codes must be sent in the same printer job as the Crystal report. Is it possible to incorporate printer command codes into a Crystal report? Can this even be done?
|
|
|
|
|
i have an external console program that converts one filetype to another and it only accepts the arguments like this:
program.exe "file1" "file2"
if i have the filenames store in vars file1 and file2 how do i create a string so that i can use the System.Diagnostics.Process.Start function? i've been trying to create a string like this:
"program.exe" "file1" "file2"
that way i can use the function but it doesn't work because the string automatically puts in '\\' when ever there's a '\' and it puts in '\"' when ever i have a '"'. how can i format it so it's more like a filename?
please help,
Rob Tomson
--
There are 10 kinds of people. Those who understand binary and those who don't.
|
|
|
|
|
static void Main(string[] args)
{
if (args.Length == 2)
Process.Start("program.exe",
string.Format("\"{0}\" \"{1}\"", args[0], args[1]);
} If you're looking at this in the debugger, the VS.NET automatically escapes those strings, which explains why you see \\ in place of \, and \" in place of ". You need to do this when you define your own strings in code (unless prefixed with the literal character - @ - in which case you only need to escape the double quotes - ").
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
thank you very much. with your help i was able to get that portion of my program working. i did notice the @ symbol in the debugger but i didn't know what it was there for, now i know.
thanks,
Rob Tomson
--
There are 10 kinds of people. Those who understand binary and those who don't.
|
|
|
|
|
how to access web service with SSL from windows application (C#)?
How to use the certificate in the client windows application/
Is there any sample available?
Thanks a lot.
|
|
|
|
|
You don't need to do anything - just use a URL with the HTTPS scheme when creating the web service proxy. If you want to pass a client certificate, you can add it to the ClientCertificates property that all web services proxies inherit from their base class, HttpWebClientProtocol . For more information and an example, see the ClientCertificates[^] property documentation in the .NET Framework SDK.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I am sorry if this question has aleady been asked.
I need a recursive fucntion for populating a multi-level (3-4 level) treeview. Also comment on the DataSet layout to be passed to this fucntion.
Thanks,
Ruchi
|
|
|
|
|
You need to make sure that a parent/child relationship exists in the DataSet , like:
ID ParentID Text
--- --------- -----
0 (null) Node1
1 0 Node1_1
2 0 Node1_2
3 2 Node1_2_1
4 3 Node1_2_1_1 The first method of your function must get the root nodes by getting those with a ParentID that's null (DBNull ):
public void BuildTree()
{
DataSet ds = GetDataSet();
DataRow[] rows = ds.Tables[0].Select("ParentID = NULL");
treeView1.BeginUpdate();
for (int i=0; i<rows.Length; i++)
{
TreeNode node = new TreeNode();
node.Text = (string)rows[i]["Text"];
node.Tag = rows[i]["ID"];
this.treeView1.Nodes.Add(node);
BuildSubTree(node, ds);
}
treeView1.EndUpdate();
} In your actual recursive function, you could do something like this:
private void BuildSubTree(TreeNode parent, DataSet ds)
{
int id = (int)parent.Tag;
DataRow[] rows = ds.Tables[0].Select(string.Concat("ParentID = ", id.ToString()));
for (int i=0; i<rows.Length; i++)
{
TreeNode node = new TreeNode();
node.Text = (string)rows[i]["Text"];
node.Tag = rows[i]["ID"];
parent.Nodes.Add(node);
BuildSubTree(node, ds);
}
} This is just a simpe example and can be greatly improved through the use of typed DataSet classes with defined DataRelation s, which provide a faster way to get children using DataRow.GetChildRows . This should be enough to get you started.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey
Is there any simple way to force the vertical scroll to display always na not onlye when there is to much items??
The ListBox have somthing like force vertical scroll.
//Jimmy
|
|
|
|
|
This was just asked earlier today, and the answer was to search the C# forum (click "Search comments" above). This has been answered many times. You must P/Invoke the SendMessage native function and pass the WM_VSCROLL message with the correct parameters. Documentation for this function and message can be found in the Platform SDK.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi guys,
Anyone have an idea on how to use multiple backbuffers with DirectDraw 9.0 using the Managed version with C# ?? On the SurfaceDescription class, there is a member named: BackBufferCount. So it must be possible to do that! Unfortunately, the only sample I can found on the internet is using only 1 back buffer!
Thanks again!
Jean Bédard
|
|
|
|
|
It is possible, yes. I've been reading a book that someone sent me that covered this in the first or second chapter briefly (and will discuss it more later, when I get time to finish it). It's written by one of the program leads (can't remember exact title) of DirectX and is a very good book (one of the best I've read, though I read very few - I'm an SDK kind of guy, but the Managed DirectX docs stink). It's Managed DirectX 9 Kick Start: Graphics and Game Programming[^] and is available at many merchants' sites, including Amazon (the link).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks, I've just ordered the book on Amazon. Pretty cheap also!!
Jean Bédard
|
|
|
|
|
You set the BackBufferCount equal to the number of backbuffers you want e.g. 2 if you want 2 backbuffers.
I have some questions of my own: How do you find out the maximum number of backbuffers possible (that should be dictated by your graphics card memory + RAM)? How do you find out how much memory the graphics card has and how much RAM you have? If you figure out the answers pl. email me at fd97207@yahoo.com
BTW the DX kick start book just has one chapter on ddraw so not very useful as far as ddraw is concerned. See
http://www.cse.unsw.edu.au/~atan164/ddraw_print.html for a good tutorial .... in VB
|
|
|
|
|
Is CObArray and CObList the equivalent of a collection under .NET? I want pass data from one form to the other and then into a control. Can I create a class, add them to the collection, pass it and then fill the control? This in in ASP.NET btw...
Thanks
Ralph
|
|
|
|
|
ASP.NET is really no different from CGI in the world of HTTP. You can't really send a collection from form to form - you need to use POST data just like form elements in a page. You could store the collection in a session variable, but you'll take big performance hits if you don't clean it up correctly.
I'm not really sure what those objects are, but they appear to be an array and a list. Lists are those classes that implement IList (and inherit ICollection and IEnumerable ). Arrays implicitly derive from System.Array , which implements IList . So, they're both lists (but you can't use some methods from the aforementioned interfaces with an array - it's still a fixed number of elements).
You could serialize this collection and base64-encode it, then make sure it gets sent with your form data to the next page, deserializing it. If you're remaining on the same page (i.e., using post-back), you could also extend the Page class (your .aspx and code-behind files do this already) and override SaveViewState and LoadViewState to save this serialized collection, but this only works if using post-back with the same page. You should definitely read the documentation on those two methods - implementing them can be tricky, especially if you don't know what you're doing.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
The only way to pass data between forms is using Session, isn't it ?
Free your mind...
|
|
|
|
|
No, it's not the only way. Any data defined as an input for the page form can be sent to another page, which can retrieve it using Request.Forms (POST), Request.QueryString (GET), or Request.Params (both). How do you think CGI has worked since it was proposed? This data doesn't have to be input by the user - it can simply be in a hidden input field. The developer just has to make sure it gets in there before the GET or POST request is sent to another page (since that data is sent from the client to the new page).
Microsoft MVP, Visual C#
My Articles
|
|
|
|