|
|
hello,
I am having datagridview filled with data which is not from database. Now i want to generate a crystal report and print it from this datagrid.
How should i do it???
It will really help very much to me it i find the way to do it.
Thanks in advance.
regards
Gajesh
modified on Monday, February 04, 2008 4:28:46 AM
|
|
|
|
|
Hi All,
I have generated C# WinForms to load ,insert ,Delete and update the database.But when I perform any operation then exception occured and message displayed
"ExecuteReader Requires Open and available connection.The connection's current state is closed."
Thanks in advance.
Regards,
Chanzeb chaudhary.
|
|
|
|
|
Are you testing your connection state first?
if(connection.State == ConnectionState.Closed)
{
connection.Open();
}
|
|
|
|
|
Error message is very clear. You need to open connection before executing the command
|
|
|
|
|
I have two instance of DateTime structure,
I want difference between these two dates in no. of days.
Compair() is returning 1,-1 but not relative diff.
Dateformat mm/dd/yy.
Yhankxxxxxxx
Truth Is The Simplest !!!!
|
|
|
|
|
Try:
DateTime dt1 = DateTime.Parse("01/01/2008 13:23");
DateTime dt2 = DateTime.Parse("01/01/2008 11:00");
TimeSpan ts = dt1.Subtract(dt2);
or you could do:
DateTime dt1 = DateTime.Parse("01/01/2008 13:00");
DateTime dt2 = DateTime.Parse("01/01/2008 11:00");
TimeSpan ts = dt1 - dt2;
int days = ts.Days;
int hrs = ts.Hours;
int min = ts.Minutes;
int sec = ts.Milliseconds;
|
|
|
|
|
|
Google is your best friend. The first result even contains the answer.
Google Search[^]
The best way to accelerate a Macintosh is at 9.8m/sec² - Marcus Dolengo
|
|
|
|
|
hi
task: there's a string array with 1 & 2 char strings. If user strikes the chars matches among one in the array, the prog changes user input for example from "aa"(=user input) to "aA"(in array). It is all done handling the textchanged event of the richtextbox. (last 1 or last 2 chars input)
but: the "one char string" would be nice to be presented by blue color the "2 char string" for example with red. Still cannot figure out why the code below doesn't work but it changes all chars red, it only correct for the first & second recognized thing like so:
"aA"s" but when input again "aA" the whole thing is changed to red (but "s" should be remained blue)
thx for your ideas
the event handling
<br />
private void richTextBox1_TextChanged(object sender, EventArgs e)<br />
{<br />
if (richTextBox1.Text.Length >= 2 && !boolfound)<br />
{<br />
<br />
Array.Find(mnames, FindM);<br />
<br />
}<br />
}<br />
invokes this(1 & 2 chars matching section):
<br />
private bool FindM(String s)<br />
{<br />
<br />
if (s.Equals(richTextBox1.Text.Substring(richTextBox1.Text.Length - 2, 2), StringComparison.CurrentCultureIgnoreCase))<br />
{<br />
<br />
<br />
richTextBox1.Text= richTextBox1.Text.Remove(richTextBox1.Text.Length - 2,2);<br />
<br />
richTextBox1.Focus();<br />
richTextBox1.Select(richTextBox1.Text.Length, 0);<br />
richTextBox1.AppendText(s);<br />
<br />
richTextBox1.SelectionStart = richTextBox1.Text.Length - 2;<br />
richTextBox1.SelectionLength = 2;<br />
<br />
richTextBox1.SelectionColor = Color.Red;<br />
richTextBox1.DeselectAll();<br />
richTextBox1.Select(richTextBox1.Text.Length, 0);<br />
<br />
<br />
boolfound = false;<br />
return true;<br />
<br />
}<br />
if(s.Equals(richTextBox1.Text.Substring(richTextBox1.Text.Length - 1, 1), StringComparison.CurrentCultureIgnoreCase))<br />
{<br />
<br />
richTextBox1.Text=richTextBox1.Text.Remove(richTextBox1.Text.Length - 1,1);<br />
<br />
richTextBox1.Focus();<br />
<br />
<br />
richTextBox1.Select(richTextBox1.Text.Length, 0);<br />
richTextBox1.AppendText(s);<br />
richTextBox1.SelectionStart = richTextBox1.Text.Length - 1;<br />
richTextBox1.SelectionLength = 1;<br />
richTextBox1.SelectionColor = Color.Blue;<br />
richTextBox1.DeselectAll();<br />
richTextBox1.Select(richTextBox1.Text.Length, 0);<br />
<br />
boolfound = false;<br />
<br />
return true;<br />
}<br />
<br />
else<br />
{<br />
return false;<br />
}<br />
<br />
<br />
}<br />
<br />
|
|
|
|
|
Up!
also, There may be a way which work (1st: getting the proper string from the array 2nd: coloring all matching string in the textbox) but I guess this would be time & resource consuming.
any idea?
|
|
|
|
|
found the thing:
for all who is interested:
the Remove method caused the whole thing to be colored out with the same color the right code is:
<br />
richTextBox1.Focus();<br />
richTextBox1.Select(richTextBox1.Text.Length, 0);<br />
<br />
richTextBox1.SelectionStart = richTextBox1.Text.Length - 2;<br />
richTextBox1.SelectionLength = 2;<br />
<br />
richTextBox1.SelectionColor = Color.Red;<br />
richTextBox1.SelectedText = s;<br />
richTextBox1.DeselectAll();<br />
richTextBox1.Select(richTextBox1.Text.Length, 0);<br />
|
|
|
|
|
This is not working in my program, which is weird because it worked in the last one I am making... the difference is that the last one i used SQL database and this new one I am using a Access database... the null probably is still set to DBNull..
foreach (DataGridViewRow d in theTableDataGridView.Rows)
{
if (DBNull.Value == d.Cells[0].Value) ;
else richTextBoxPrintCtrl1.Text += String.Format("{0}\n", d.Cells[0].Value.ToString());
}
it still comes up with an error and the weird thing is, is that the cell is actually not null!
Really I need a better way of doing this, so if you have any ideas please let me know.. what it is suppose to do is go through each row and column, determine if the cell is null (empty), if it is empty then do nothing (skip to next step), if it isn't then print the value of that cell onto a textbox.
|
|
|
|
|
Jacob Dixon wrote: it still comes up with an error
Could you be a bit specific? What is the error message?
Experience is the sum of all the mistakes you have done.
|
|
|
|
|
Ew, please change the test so it's easier to read.
if (DBNull.Value <code>!=</code> d.Cells[0].Value)
richTextBoxPrintCtrl1.Text += String.Format("{0}\n", d.Cells[0].Value.ToString());
What error do you get?
|
|
|
|
|
Ok I nested it within a try and catch statement like I did in my last program and it worked!! I used the length that I found instead of DBNull but it works both ways:
<br />
try<br />
{<br />
if (d.Cells[1].Value.ToString().Length >= 1) richTextBoxPrintCtrl1.Text += String.Format("{0}\n", d.Cells[1].Value.ToString());<br />
<br />
if (d.Cells[2].Value.ToString().Length >= 1) richTextBoxPrintCtrl1.Text += String.Format("Birthday: {0)\n", d.Cells[2].Value.ToString());<br />
<br />
<br />
richTextBoxPrintCtrl1.Text += "\n\n";<br />
}<br />
catch (Exception ex)<br />
{<br />
return;<br />
}<br />
<br />
<br />
Can someone explain why this works when I do this? It is working correctly now, so the cells are not empty! But when they are not within a try and catch it doesn't work?
|
|
|
|
|
Jacob Dixon wrote: richTextBoxPrintCtrl1.Text += String.Format("{0}\n", d.Cells[0].Value.ToString());
NullReferenceException was unhandled
Object reference not set to an instance of an object.
|
|
|
|
|
even with the:
if (DBNull.Value != d.Cells[0].Value)richTextBoxPrintCtrl1.Text += String.Format("{0}\n", d.Cells[0].Value.ToString());
it still comes up with the same error
|
|
|
|
|
Having you tried stepping through the code to see where exactly it throws the exception?
I am not a Winforms expert, so I don't know if one row in a grid can have cells and another cannot. Either way, it would be safe to ensure d.Cells has length >= 1 before you access it like that.
Also, rewrite your condition like Piebald says.
Cheers,
Vikram.
"I will put my new found knolage to good use" - Captain See Sharp.
"Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed." - Gary Wheeler.
|
|
|
|
|
Yes, the last program I wrote I used the code I had and left the if statements empty, which isnt good, but for some reason when I did the DBNull.Value != d.Cells[0].Value it would not work... I couldn't use a != for some reason, I do not remember the error message. I like your idea about the length. That way I could skip using the DBNull, but for programming knowledge, I would like to know why it wasn't working..
|
|
|
|
|
|
The reason it works when you use it with a try catch is because on your catch you just ignore the error. So with this new code, your creating an exception and not handling it.
By the way, you should never have empty catches, or catches with things like return. Just bad coding practice. What you need to do it check what error you are throwing, and where, and we can help you solve the issue.
The best way to accelerate a Macintosh is at 9.8m/sec² - Marcus Dolengo
|
|
|
|
|
Well I feel like a idoit. Sorry for wasting your guys times but I figured it out..
It had to do when it reached the birthday column that was causing all the problems. I had it like this:
richtextbox1.Text += String.Format("Birthday: {0)", blah blah);
see the problem? I had a parenthesis instead of a bracket.. I had to look hard to notice it.. maybe I should reduce my resolution lol.. Thanks guys and sorry for all the trouble.
|
|
|
|
|
You're welcome.
A note, though - it is considered rude to delete your posts, especially if somebody has replied to them.
Cheers,
Vikram.
"I will put my new found knolage to good use" - Captain See Sharp.
"Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed." - Gary Wheeler.
|
|
|
|
|
Sorry I was not aware of that... I was thinking it was rude for all the messages I had taking up almost an entire page lol. Won't do it again, thanks!
|
|
|
|