|
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).
|
|
|
|
|
Create a Winforms application and in the application properties change Common Properties / Output Type from windows application to Console application. When you run application your form will open and a console window will also open. In your form if you call Console.WriteLine the text will appear in the console window. I'm sure there are limitations to this approach (if the console gets closed so does your form), but this may meet your needs. You should be able to use api calls to hide/show the console window if you need to. It might be possible to use api calls to move the console window into your MDI, but I expect this would be very difficult.
topcoderjax - Remember, Google is your friend.
|
|
|
|
|
I've got a very large array of picture boxes that I'm trying to shift with out using a loop. I've tried looping through the array from last element to first, setting the prior element to the current element, however this takes too long.
Basically I want to take the properties from elements [0] to [array length - 1] and set them to elements [1] to [array length]. And then take element [0] and update it programically.
I'm trying to use the Array.CopyTo function, where I copy to a temp array but haven't had any success.
Can anyone help!?!?
|
|
|
|
|
I don't see how looping through the array could be taking too long? Do you have several million items in the array, or what?
Besides, whatever method you try to use instead of a loop will still be using a loop in the end. You will only be wasting resources trying to avoid the inevitable.
Could you show some of your code? That might give a clue to what the problem is.
---
single minded; short sighted; long gone;
|
|
|
|
|
Here's the sample code for what I'm trying to do. I actually have a 2D array. It's an array of pictureBox arrays. If you picture it like a grid with rows and columns. I want to foreach row, I want to shift each column back one, and set the first element to a new image. Here's the code (two for loops)
// Shift the lane to the right //
// Loop through each array (row) //
for(int i = 0; i < allLanes.Length; i++)
{
// Loop through each element in the array (column) //
// From back to front //
for(int j = allLanes[i].Length-1; j > 0; j--)
{
// If the previous element's image is the failed image //
if(allLanes[i][j-1].Image == failImg)
{
// Set the previous element to a pass image //
allLanes[i][j-1].Image = passImg;
// Set the current elemtn to a fail image //
allLanes[i][j].Image = failImg; }
else
{
// Set the current element to a pass image //
allLanes[i][j].Image = passImg;
}
// Thread.Sleep(1); //
}
Note the Thread.Sleep(1). If I remove this, the code start to bomb out saying either: System.Drawing element is in use elsewhere or sometimes the display simply doesn't finish updating with only some of the rows showing the shift.
|
|
|
|
|
Hello,
You shouldn't access the Images and Lanes allways over the index ([i] or [i][j-1]).
Do it once and hold the reference as long as you need it.
This can also be a performance improfement.
All the best,
Martin
|
|
|
|
|
Hi Friends,
I Need help to know how to Insert into MS Access database using C#.net
All help Appreciated,
Sunkkd.
Sun_Light
|
|
|
|
|
Create an OleDbCommand object and an OleDbConnection object. The connection will be used to open a connection to the database. Then use the command object to save the data you want into the database. Google for these two objects to see how it works.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
There are many C# articles on CodeProject, an entire section for "Database" in which you should find the information you seek.
led mike
|
|
|
|