|
See if your server allows remote connections.
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
|
|
For some reason I can't figure this out
Let's say I have an ArrayList of a class that has a string productName and an int called count. I want to basically combine the duplicates in the following way.
productName | count<br />
-------------------<br />
Product1 | 1<br />
Product2 | 1<br />
Product1 | 1<br />
<br />
After combining I'd want it to look like<br />
<br />
productName | count<br />
-------------------<br />
Product1 | 2<br />
Product2 | 1<br />
<br />
What is my best bet?
|
|
|
|
|
Hello,
Let me suggest a redesign.
Instead of ArrayList you could use a Hashtable (or Dictonary .Net>1.1).
Your "Value" would be the full instance of the class, and the "Key" would be the productName.
You could than make an "Add" Method which controls if the Key already exist.
If no -> add the instance to the Collection.
If yes -> increase the count of the existing instance.
Hope it helps!
All the best,
Martin
|
|
|
|
|
I am making a game that is built of a tiled map and the character can move from tile to tile, or will be able to. As of now each tile is a PictureBox, 15 x 15, or 225 PictureBoxes, a total hack.
I want to be able to use DirectX to display all the images the same way, then I have the full screen options and framerate and other cool options as well. I know how to setup part of the DirectX, I have done tutorials on displaying a triangle and stuff like that, how do I display a square with a image on in? More importantly, how do I recognize which square has been clicked, and make it call the apporpriate event handler?
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
I have found these tutorials to be good. They have tutorials on DirectX and XNA and start form the very beginning to fairly advanced. They do show you how to draw a shape and how to add textures, use Meshes and even do some introductory tutorials on HLSL (high level shader language).
http://www.riemers.net/[^]
Also check out the directx tutorials on codeproject.
|
|
|
|
|
|
Hi balanjingot,
You can use CellDoubleClick event instead of DatagridView DoubleClick.
Here is the code snipet:
private void Form1_Load(object sender, EventArgs e)
{
DataTable dtable = new DataTable();
dtable.Columns.Add("SNo");
dtable.Columns.Add("Name");
for (int i = 0; i < 5; i++)
{
DataRow dr = dtable.NewRow();
dr[0] = "1" + i.ToString(); ;
dr[1] = "Name " + i.ToString();
dtable.Rows.Add(dr);
}
dataGridView1.DataSource = dtable;
DataTable dtable2 = new DataTable();
dtable2.Columns.Add("SNo");
dtable2.Columns.Add("Name");
for (int i = 0; i < 5; i++)
{
DataRow dr = dtable2.NewRow();
dr[0] = "2" + i.ToString(); ;
dr[1] = "Name " + i.ToString();
dtable2.Rows.Add(dr);
}
dataGridView2.DataSource = dtable2;
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView2.CurrentRow.Cells[0].Value = dataGridView1.CurrentRow.Cells[0].Value;
dataGridView2.CurrentRow.Cells[1].Value = dataGridView1.CurrentRow.Cells[1].Value;
}
Please let me know if this helps.
Thanks,
S.Gopal.
Gopal.S
|
|
|
|
|
hi,
thanks, it works. the value from datagridview1 will be transfered to datagridview 2.
but what if i want it this way...
dataGridView2.CurrentRow.Cells[5].Value = dataGridView1.CurrentRow.Cells[0].Value;
dataGridView2.CurrentRow.Cells[6].Value = dataGridView1.CurrentRow.Cells[0].Value;
if i select Cell 5 of dgv2, the selected value of cell 0 of dgv1 will displayed on cell 5 of dgv2
if i select cell 6 of dgv2, the selected value of cell 0 of dgv1 will be displayed on cell 6 of dgv2?
thanks..hoping for a reply
jing
|
|
|
|
|
Hi,
Please use this code:
dataGridView2.CurrentCell.Value = dataGridView1.CurrentCell.Value;
instead of,
dataGridView2.CurrentRow.Cells[5].Value = dataGridView1.CurrentRow.Cells[0].Value;
dataGridView2.CurrentRow.Cells[6].Value = dataGridView1.CurrentRow.Cells[0].Value;
Thanks,
Gopal.S
|
|
|
|
|
hey,
thank you so much...it works!
regards
jing
|
|
|
|
|
Here's my problem. I don't know how to compare a range (because .NET does not support the BETWEEN clause) and return a single row based on that range.
Here's an example of a working query that is being executed on a specific table in a dataset.
---
query = "Name = 'jim' AND Address = '123 Lane' AND Age = '25' AND Homes = '2'";
---
Here's what I want to do: (does not return anything, but compiles)
---
query = "Name = 'jim' AND Address = '123 Lane' AND Age >= '23' AND Age <= '27' AND Homes >= '1' AND Homes <= '3'";
---
In this example I'm trying to return this row if the user entered any age in between 23 and 27, and any amount of homes in between 1 and 3. You could say the age threshhold range is set to 2 and the home threshhold range is set to 1.
Our test subject jim falls into this range, so I would want him returned, yet it does not work. I tried using () around certain parts and it doesn't work as well. Little help?
|
|
|
|
|
Try the query by itself first, but it should just be something like:
where Name = 'jim' AND Address = '123 Lane' AND (Age >= '23' AND Age <= '27') AND (Homes >= '1' AND Homes <= '3'")
Or are you doing a rowfilter on the dataview?
Still it should work.
Ben
|
|
|
|
|
That is exactly what I tried before, it returns nothing (row count is 0).
Here's the exact steps of what my app is doing:
1. On load, it fills a datatable based on an xml file (we'll call this a log file).
2. A user enters in information, and submits it (aka. logs it).
3. When a user enters something into one of the fields in my app, it runs the select query posted above on the datatable.
If it finds a row, it will modify the info the user entered (based on params the user entered when he logged the info initially).
|
|
|
|
|
I would try adding some try-excepts and catch the error and display it so you can see where the problem is. Database querying doesn't give a runtime error sometimes, but if you use the try-except it will everytime.
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
Hmm I haven't done that, but I am doing a debug.print of the query itself. It looks "normal".
Edit:
Just surrounded it by a try/catch. No errors (the catch doesn't get executed).
|
|
|
|
|
Well do the try-excepts and it will give you a very detailed answer. I just recently figured out this 'trick' on accident, I figured if the app wasn't giving a error then my statement was wrong, but apparently the data providers don't always error out with a bad query string.
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
You need to actually catch the right error, not just a generic.
Example, if using SQL:
catch (SqlException ex)<br />
{<br />
MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);<br />
}
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
This also does not catch anything. It just runs the query and produces 0 rows (rows is still null).
|
|
|
|
|
I am not following you. How can I get a detailed response on something that does not trigger?
Example:
---
try
{
DataRow[] rows = null;
rows = dataSet.Tables["UserInfo"].Select(query);
}
catch (Exception e)
{
Debug.Print(e.Message);
}
---
When I run this, it won't print anything. Then later on if I check if rows is null, it is (but it shouldn't be because the query above should return jim's row).
|
|
|
|
|
What data provider are you using OLEDB, SQL, ect...?
The only way to speed up a Macintosh computer is at 9.8 m/sec/sec.
|
|
|
|
|
I'm not connecting to an actual database.
I'm just loading the contents of an XML file into a dataset. Then when my app shuts down, it dumps the dataset to an XML file.
I decided to use this method because rather than read/write a large file many times, I just add rows to the dataset (when my program is in use) as well as search the rows. Then at the end it writes the file when the user is done, one time.
If I purposely rename AND to AN (to cause an error), it will say the exact error when I use the standard Exception class.
|
|
|
|
|
This is not something I am familiar with, but an observation:
Age >= '23' AND Age <= '27'
Considering the single quotes is age a number or text. I don't remember how the >= <= applies to text values, but if it is being treated as text could this be causing your problem.
topcoderjax - Remember, Google is your friend.
|
|
|
|
|
Bingo. Well done man, I never would have caught that. It is working 100% as intended now.
However there's still a small mystery to be solved if anyone is up to the challenge. If you remove the "Homes" column from the query and just leave "Age" there by itself, it will work totally fine. It only seems to be a problem when you have more than 1 column having a range check being done to it (with the quotes).
|
|
|
|