|
For some unknown reason they have chosen the highly illogical name HelpButton for that.
You have to turn the minimise and maximise buttons off for the help button to show up.
---
single minded; short sighted; long gone;
|
|
|
|
|
Yeah see what I want to do is us the help button without turning the min and max buttons off. So I want to link it to another button on my form, thus trying to figure out how it is called.
|
|
|
|
|
RussBus wrote: Yeah see what I want to do is us the help button without turning the min and max buttons off.
Yes, you said that in your first post, and I said that it's not possible.
RussBus wrote: So I want to link it to another button on my form, thus trying to figure out how it is called.
What do you plan to "link", and how do you plan to "link" it?
If you want a button on the title bar you have to place it there yourself. I don't know exactly how to do that, but I fear that you have to send windows messages to the window to create the button and handle the events.
---
single minded; short sighted; long gone;
|
|
|
|
|
I just want the button some where on my form, does not have to be in the title bar. So when you click on my help button I want the same thing to happen if you push the one in the title bar.
|
|
|
|
|
RussBus wrote: I just want the button some where on my form, does not have to be in the title bar.
Just make your own button with a question mark image then.
RussBus wrote: I want the same thing to happen if you push the one in the title bar.
Why even bother with that one when you have another help button on your form?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
I have a button currently on my form that says help, that is not the problem the problem is getting that button to react the same way as the on in the title bar... thus allowing me to remove the on from the title bar.
|
|
|
|
|
How does the help button in the title bar react differently?
If you handle the event for those buttons, just execute the same code, and both buttons will react the same. Or am I wrong?
|
|
|
|
|
The help button in the title bar sets the mouse cursor to a "?" and allows you to click on any control which then brings up a small help window.
I don't know what event to call for that button is the problem.
|
|
|
|
|
Dear, Sir and Madam
How to improve performance for the code below?
DataGridView1.DataSource = MyDataTable; //(MyDataTable contains 100,000 rows)
The code above spent About 8-9 seconds that so long.
Thank You.
NOTE: WinForm not WebForm
-- modified at 12:39 Wednesday 25th July, 2007
|
|
|
|
|
You're retrieving 100,000 rows and 8 to 9 seconds isn't fast enough for you?? Hint: Retrieve less rows! If you're not doing anything with ALL of those rows, there's no reason to retrieve them, now is there?
|
|
|
|
|
Dave Kreskowiak wrote: Hint: Retrieve less rows! If you're not doing anything with ALL of those rows, there's no reason to retrieve them, now is there?
Exactly. I don't understand why people want to fetch that much at once, unless it is some kind of coordinate mapping/computing thingee-bobber.
Dave Kreskowiak wrote: 100,000 rows and 8 to 9 seconds
That's on the order of approximately 10k records/second...
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
MyDataTable get data(rows) from Xml file not from database.
If I use MyDataTable.DefaultView.RowFilter = "xxx",
it will spent time for this process instead.
8 to 9 seconds is not fast enough for me.
Is there any idea to improve performance?
|
|
|
|
|
Break up the xml file to smaller files and load the correct one base off whatever RowFilter you are planning on setting.
Ben
|
|
|
|
|
An XML file is a just a Text file. It takes a LONG time for the DataSet class to load AND PARSE that much stuff. 8 to 9 seconds for a file that big is GOOD. You simply have no choice but to break that file down into smaller chunks, organized how you want it filtered, then load only those files that you need.
There is no other way to speed this up...
|
|
|
|
|
Dave Kreskowiak wrote: 8 to 9 seconds for a file that big is GOOD.
No kidding, especially for an XML file. Talk about bitching over spilled milk... If it is such a big deal, then he needs to refactor the problem into a smaller file like kubben recommended.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
8-9 seconds that I tell you not include Load AND PARSE Xml file.
DateTime d1 = DateTime.Now;
DataGridView1.DataSource = MyDataTable
DateTime d2 = DateTime.Now;
TimeSpan ts = d2 - d1;
Console.WriteLine(ts);
Thank You.
|
|
|
|
|
god4k wrote: 8-9 seconds that I tell you not include Load AND PARSE Xml file.
Then why did you say so?!?
god4k wrote: DateTime d1 = DateTime.Now;
DataGridView1.DataSource = MyDataTable
DateTime d2 = DateTime.Now;
TimeSpan ts = d2 - d1;
Console.WriteLine(ts);
You're not seriously rendering 100,000 rows in a dataGrid, are you?? Is the user even going to look at all of that crap?? You really need to rethink your design, 'cause there is no way to speed up the rendering of 100,000. What does the user need to see?? That is all you should be showing them. I can't think of a single good reason to show a user 100,000 rows of a table...
|
|
|
|
|
Cut the amount of data down as Dave has said. Only pull up the data that the user is going to be using at the moment, and 100,000 rows is not going to be the case. Allow the user to filter the rows he/she is going to need.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
Why is it that no machine is fast enough for some "developers"???
|
|
|
|
|
No kidding. I've got a P4 running at 2.5ghz and 1gig ram. It fits the bill for my development projects. I even have test station boxes running between 233mhz and 1.8ghz :->
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
The DataGridView can be a pretty slow control to render large amounts of data, and as noted by others, it looks as if you're getting pretty good performnace. However, performance, and the illusion of performance are not quite the same thing.
If your application looks as if it has hung during this 8-9 second load, then users might suspect it as having crashed. In which case, you might like to have this loading happening in a different thread, at least that way you can update the UI with a natty progress bar or similar. Taking this approach, however, may actually slow down the load - but the user will probably think it works more quickly than if the screen just locks up.
"It was the day before today.... I remember it like it was yesterday."
-Moleman
|
|
|
|
|
Have you given a thought of using the Virtual mode in the Datagrid?
GJ
|
|
|
|
|
Nice idea, but it's not a solution to the root cause of the problem - poor design.
|
|
|
|
|
Hi
I have a crystal report invoicing application that generates invoices. i have a logo on that invoice. I wanted to change the image based on if some condition met on code behind.
Can anyone please shed some light on how to do this.
This is what i am doing currently.
private void CreateImageDataTableAndWriteSchema()
{
this.DsImages = new DataSet();
DataTable ImageTable = new DataTable("Images");
ImageTable.Columns.Add(new DataColumn("path", typeof(string)));
ImageTable.Columns.Add(new DataColumn("image", typeof(System.Byte[])));
this.DsImages.Tables.Add(ImageTable);
//this.DsImages.WriteXmlSchema(@"c:\myinvoices\ImagesSchema.xsd");
}
as you can see from commented code that, I am creating an xsd dataset and I have added that dataset to the database fields. Then i have place image field from that table on to the report document. Then below i am loading an image file in that dataset/datatable.
then i am loading image in to the dataset created above
private void LoadLogoImage()
{
FileStream FilStr = new FileStream("C:\\mystuff\\Images\\my_logo.jpg", FileMode.Open);
BinaryReader BinRed = new BinaryReader(FilStr);
DataRow dr = this.DsImages.Tables["Images"].NewRow();
dr["path"] = "C:\\mystuff\\Images\\my_logo.jpg";
dr["image"] = BinRed.ReadBytes((int)BinRed.BaseStream.Length);
this.DsImages.Tables["Images"].Rows.Add(dr);
FilStr.Close();
BinRed.Close();
}
Lastly, i am setting the datasource of the report document as following
reportDocument.Subreports[SummaryDocument].Database.Tables["Images"].SetDataSource(DsImages.Tables["Images"]);
I get error, invalid index when i try to execute this line.
As stated above, i am trying to set the Images table datasource to the dataset we just poppulated with image path and byte data.
fyi: i have a master report which holds 8 subreport. The SummaryDocument listed above is one of those subreport.
Thanks
Needy
|
|
|
|
|
Hie again!
My friend has sent me a controlcode for viewing a GISMAP,but unfortunately I don't know how to use it.I mean how can I add a map in a C# project to view that map?
|
|
|
|