|
Hi guys.
I'm currently working on a datagridview which is bound up to a bindinglist containing a custom display class. The grid already contains ImageColumns for displaying the Icon properties which works properly, only that sorting on them isn't quite what we expected.
The previous programmer implemented a sortalgorithm where sorting on an DataGridViewImageColumn, for Icon type properties, would result in actually using another TextboxColumn containing numeric values for the sort part. But this isn't generic enough as all ImageColumns are sorted for the same numeric value...
So I thought I'd replace the Icon properties for the value objects with IconWrappers containing an icon and a sortable value, and make custom IconWrapperCell and IconWrapperColumn types inhereting from DataGridViewImageColumn and DataGridViewImageCell, and insert these into the DataGridView for the columns that the bindinglist create for the IconWrapper properties.
This seems to be close but no sigar. The bindinglist fails to insert the value into the new columns even though the columnname is identical. OnPaint method for the IconWrapperCell keeps trying to paint with value = null, and if I force the value to be an icon, that icon isn't drawn either.
Has anybody tried anything like this?
I'd really appreciate some feedback if anyone knows anything about replacing/forcing columnstypes for bindinlist created columns.
-- modified at 4:51 Thursday 5th July, 2007
Found a workaround to my problem.
Didn't solve the jigsaw for replacing bindinglist created columns,
but replaced the Icon properties for the value objects with Image type and
used the Image.Tag property for storing sortable values.
-Larantz-
|
|
|
|
|
Hi
I have developed an application in C#. I have made installer in .NET, but i am not able to make the uninstaller.exe to uninstall the application.
Thanks
Devesh Mishra
|
|
|
|
|
The installer is also the uninstaller. Once you've installed the app, you can go to Add/remove programs and uninstall it.
Cheers,
Vıkram.
After all is said and done, much is said and little is done.
|
|
|
|
|
Thanks for ur reply...
But i dont want to uninstall the applicaton from control panel. Because Its a time consuming process. As i am a programmer. So i want to do it programatially.
Thanks
Devesh Mishra
|
|
|
|
|
devesh_code wrote: But i dont want to uninstall the applicaton from control panel. Because Its a time consuming process. As i am a programmer. So i want to do it programatially.
What on earth does that mean? You, as the developer, create an installer and give it to your user.
Just as he runs the setup file to install the program, he has to use the Add/remove programs applet to uninstall it. I really, really don't understand what you want.
Cheers,
Vıkram.
After all is said and done, much is said and little is done.
|
|
|
|
|
No need to understand much more.
Thanks
Devesh Mishra
|
|
|
|
|
sorry i don't know the solution either. But i really liked your comment and i would like to develop an uninstaller.exe too. It's quite a hazard to go to control panel every time i need to uninstall a sw. Specially it is disgusting for developers who need to test their project again and again.
Hope someone can give a solution.... i believe many people like me, will be happy to find a proper solution...
thanks
Chayan
|
|
|
|
|
Hi Chayan
Thanks for ur comments...I have made an uninstaller.exe. Now just i have integrate it with my application.
Thanks
Devesh Mishra
|
|
|
|
|
Can you please tell me how you did that ? I am really curious to know this.
thanks
Chayan
|
|
|
|
|
Yah sure....
http://www.codeproject.com/useritems/NET_Uninstaller.asp
Try to understand it.....
Devesh Mishra
|
|
|
|
|
Devesh,
thank you very much for being so much helpful. I simply loved the article that you suggested. I can't believe it can be so simple and so cool.
thanks my friend. Now i will use it and surprise my friends and colleagues ....
Chayan
|
|
|
|
|
i fill a datatable with dataadapter and bind it to an bindingsource
one of my function return max(id) from above datatable:
<br />
datarow[] rows = ds.tables[0].select("id=max(id)");<br />
also datatble has updated whenever needed by:
<br />
datable dt=ds.tables[0].getchanges();<br />
adapter.update(dt);<br />
ds.acceptchanges();<br />
my function (select last id) work correctly for first update, but it dosn't work after add one new record, and return same record.
why?
|
|
|
|
|
Try to update the dataset instead of the datatable, and avoind performing dataset acceptchanges. If your Datatable is bound to the control, once you update the adapter, may be the call the binding again.
Ofcourse your best friend is debugging.
|
|
|
|
|
thanks but your solution dos not fix it.
i don't have problem with update dataset or datatable, because both has update as well. but select function dosnt work probably
|
|
|
|
|
hi..
i m using tab control(windows appln.wth C#)
i want to check the entered 3 marks in 3 text boxesin first tab page,whethr any of the txt boxes contain below 100.how to use "or" for this?
and in next tab page i want to print the result according to that in a label or txtbox.
i m new to C# .pls giv idea.
i trie this(below).but not wrking.
int x = Convert.ToInt32(Txtapti.Text);
int y = Convert.ToInt32(Txttech.Text);
int z = Convert.ToInt32(Txteng.Text);
if (x < 70 || y < 70 || z < 70)
{
Txtresult.Text = "candidate failed!";
}
|
|
|
|
|
Hello,
First I have to say that your problem has nothing todo with your subject line. (you have no problem with the tabcontrol)
accessred wrote: but not wrking.
What does it do?
Have you debuged it?
accessred wrote: i trie this(below).
Where have you placed that code?
accessred wrote: Convert.ToInt32(Txtapti.Text);
This is not good, as it will throw an exception if you input a non int string in your textbox.
I would do a int.TryParse if you have .Net > 1.1 or double.TryParse if you have .Net < 2.0.
All the best,
Martin
|
|
|
|
|
m using .Net 2.0. Thnx..
"I am burning...the only thing rest in me is you..."
|
|
|
|
|
Hello,
accessred wrote: m using .Net 2.0.
Ok, but thats the only thing I have not asked!
I don't think that your problem is solved, or am I wrong?
Still waiting for more infos, to help you.
All the best,
Martin
|
|
|
|
|
see..problem may be small..but i m a begnner in coding..thats y..
i 'm having a tab control with three tabpages.in page1,three text boxes are there for each subject marks.all details will be stored in a file that is displayed in 2nd page.third is result page.if any of the entered value is less than 100 then the result page should show the candidate failed. that shud be displayed on a textbox.(txtresult.Text)
it s the problem.
"I am burning...the only thing rest in me is you..."
|
|
|
|
|
Hello,
accessred wrote: problem may be small..but i m a begnner in coding ´
Nothing you have to be ashamed for, everybody started once and had also "small" problems.
accessred wrote: thats y
Don't understand that!
accessred wrote: i 'm having a tab control with three tabpages.in page1,three text boxes are there for each subject marks.all details will be stored in a file that is displayed in 2nd page.third is result page.if any of the entered value is less than 100 then the result page should show the candidate failed. that shud be displayed on a textbox.(txtresult.Text)
it s the problem.
I understood the question also at the first time.
But I asked 3 questions and you answered 0 of them.
So with no more information about your code, we will not be able to help you!
All the best,
Martin
|
|
|
|
|
answers:
1) i debugged the code.when running no error is coming,jus not displaying the result.
2)code placed in
private void Txtresult_TextChanged(object sender, EventArgs e)
3)double.TryParse is not working.error comins as:
"no over load for method tryparse takes 1 arguments"
"I am burning...the only thing rest in me is you..."
|
|
|
|
|
Hello,
accessred wrote: 1) i debugged the code.when running no error is coming,jus not displaying the result.
OK
accessred wrote: 2)code placed in
private void Txtresult_TextChanged(object sender, EventArgs e)
So, I would assume that the code is not executed because you are not changing the code of the result textbox.
You actually whant to write the result to the textbox.
I would think, you should place a button on the page and on Click you execute the code.
accessred wrote: 3)double.TryParse is not working.error comins as:
"no over load for method tryparse takes 1 arguments"
As you said you have .Net 2.0 you could also use the int.TryParse, but here is the way I would do it in .Net 1.1
using System.Globalization;
double d;
int i
if(double.TryParse(label.Text,NumberStyles.Integer, CultureInfo.CurrentCulture, out d))
{
i= Convert.ToInt32(d);
}
Hope it helps!
All the best,
Martin
|
|
|
|
|
Hi,
I have a web archive file which I need to send as an email. I need to embedd the content in the mail body instead of sending it as an attachment.
I tried using chilkat.mht's loadFromFile(*.eml), it worked well for some files and it failed for some files. When the file contains images, it is sending them as attachments with empy email body.
Can any one help me in this aspect ?
Many thanks,
Anupama
|
|
|
|
|
I have a DataGridView with all the cells of type DataGridViewTextboxCell I want that when I click a particular cell it will convert to DataGridViewCheckBoxCell. I need help.....
|
|
|
|
|
I tried something like that.
First I tried with CellBeginEdit and CellEndEdit but the ComboBox control didn't appear (just it's editable box). Then I used CellClick and CellValidating. It worked, but I had to solve the "reentrant call" problem - finally I find the solution on the net.
I explained it here: Dynamically change DataGridViewTextBoxCell to DataGridViewComboBoxCell
|
|
|
|