|
I don't know how to do Localization in ASP.NET, if somebody has an example please provide.
Thanks in advance.
|
|
|
|
|
I have one c# form and a textbox on it. I want to accept only numric values through it .
Is there any such control property?
VIKS
|
|
|
|
|
Not built in. You can find various masked inputs that other people have made, or you can override OnKeyPressed and OnTextChanged to cancel any non-numeric input.
|
|
|
|
|
Thanx for the reply.
VIKS
|
|
|
|
|
You can use regular expressions to control the input; here you can find a short tutorial with examples for regular expressions: http://www.c-sharpcorner.com/3/RegExpPSD.asp
|
|
|
|
|
My situation is that I have two tables: tblKeyword and tblProjectKeyword.
tblKeyword contains a list of available keywords (intKeywordID, txtKeyword).
tblProjectKeyword (intProjectID, intKeywordID).
tblProjectKeyword.intKeywordID is a FK to tblKeyword.intKeywordID.
tblProjectKeyword.intProjectID is also a FK to another table. So the
tblProjectKeyword table is a Many-Many relationship... a join table.
What I'd like to do is bind the contents of tblKeyword to a CheckListBox
control but have all the matching records in tblProjectKeyword appear
checked for a specific project. My keywords work similar to the Categories
window in Outlook items... the user will be able to check/uncheck and add
more keywords to the list.... So, the CheckedListBox would contain ALL
keywords, and have only those in the tblProjectKeyword checked. Additions
to the list would be added to the tblKeyword table and checked items would
be added to the tblProjectKeyword table.
Currently I'm implementing this manually (creating all the items... when one
is checked, I add a record to the table, etc, etc). I was wondering if I
could use databinding with this complex example. I know you can bind a
table to it, but I didn't know if I could bind two tables with some specific
conditions.
Currently, I am binding the tblKeyword table to the control.. then stepping
through everything in the list, checking to see if it's in the tblProjectKeyword list, and checking those that are found. When the checked state changes, I manually add/delete items to the tblProjectKeyword Datatable.
Thanks for your input in advance!
AC
Andrew Connell
IM on MSN
andrew@aconnell.com
|
|
|
|
|
how do i get all the treenodes in a treeview including the subdirectories??
treenodecollection = treeview.topnode.nodes return only the child nodes of the topnode and doesnt include the subdirectories.
i = treeview.topnode.getnodecount(true) does return the count but doesnt seem to return the nodecollection as such.
Is there any method available or it has to be implemented recrusively.
thanks.
|
|
|
|
|
I believe you'll have to loop through the node collection for each node.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
I'm just wondering about the C# using operator and what it means in terms of style.
In C# you can either do:
Font font = new Font("Arial", 10.0f);
...
font.Dispose();
or
Font font = new Font("Arial", 10.0f);
using (font)
{
...
}
Has anyone used the using keyword? If so, why? For convenience? Style? For fear that IDisposable may be changed in future releases and using will still work while Dispose may not?
Just curious.
cheers,
Chris Maunder
I spent a minute looking at my own code by accident. I was thinking "What the hell is this guy doing?" - @Logan
|
|
|
|
|
a using statement written like this:
using( Font font = new Font("Arial", 10.0f) ) {
// use font
}
actually translates to this:
try {
Font font = new Font("Arial", 10.0f) );
// use font
} finally {
if ( font != null ) {
((IDisposable)font).Dispose();
}
}
now i don't know about you...
but i find the "using" method much clearer and easier to read.
|
|
|
|
|
Except that if there is more than 1 resource it gets ugly.
|
|
|
|
|
Excellent point.
It's strange that in C++/SDK code you rarely see developers checking every return code and every HRESULT to ensure that things are going smoothly. I wonder if constructs like using will enourage more developers to be a little more careful.
cheers,
Chris Maunder
I spent a minute looking at my own code by accident. I was thinking "What the hell is this guy doing?" - @Logan
|
|
|
|
|
I liked it initially but it really gets ugly for nested loops and more than 1 resource. C++ smart types are far better. I prefer to use try {} finally {} now.
|
|
|
|
|
|
the garbage collector is for handling memory, not scares resources like GDI stuff, file locks, and database connections.
|
|
|
|
|
|
maybe, but not neccessarily before somebody else NEEDS that resource NOW.
GC is designed to handle memory deallocation. It's not really designed to handle database connection management. that's oledb's responsibility, and it would do it much better than any generic garbage collection could.
|
|
|
|
|
GC process doesnot call Dispose it only calls Finalize. Dispose is to free resources.
In Finalize you can free only unmanaged resources and not managed resources. So in case of Font this is ok but again it takes time. I prefer to clean up stuff myself.
More important is freeing managed stuff. (I realized this after seeing areecnt thread in DOTNET list).
StreamWriter writes text in buffers. The buffer is a byte array. So in Finalize you can't flush the buffer. So the only place where you can flush the buffer is Dispose/Close. In these cases you need to call Dispose/Close.
May be our resident C# specialist JTJ can add more to it
|
|
|
|
|
You pretty much summarized the reason to explicitly call Dispose on objects that implement it
One thing I noticed though; was you said it can make the code ugly if you have multiple objects to call dispose on; you can simplify it; if they are in one block.
Font f = ....;
Brush br = ....;
Bitmap bi = ....;
try
{
.....
}
finally
{
f.Dispose();
br.Dispose();
bi.Dispose();
} Could become
using(Font f = ....)
using(Brush br = ....)
using(Bitmap bi = ....)
{
.....
} Which is much much cleaner than the mass indentation you would get otherwise.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
using(Font f = ....)
using(Brush br = ....)
using(Bitmap bi = ....)
This works. But unfortunately, the generated code still has 3 try{}finally{} blocks.
|
|
|
|
|
um, could you give me an example of ugliness?
the more resources "used", the more code it autogenerates for you!
the using statement lets you focus on the intent of the code instead of the mundane plumbing.
|
|
|
|
|
It's a matter of personal preference
File f1 = null;
File f2 = null;
try
{
}
finally
{
if (f1 != null)
f1.Dispose();
if (f2 != null)
f2.Dispose();
}
using(f1 = new File(..))
{
using(f2 = new File(..))
{
}
}
I prefer the former.
|
|
|
|
|
um... you can put both in the same using statement parens.
so it becomes
using(
Font f1 = new File(..),
Font f2 = new File(..)
) {
// do your thang
}
|
|
|
|
|
Wow, I never knew that. Thanks.
But still C++ detructor stuff is far better.
|
|
|
|
|
Andy Smith wrote:
using(
Font f1 = new File(..),
Font f2 = new File(..)
) {
Actually you can't quite do that.
If you have multiple variables of the same type it will work, but you need to omit the second "Font"; so it becomes using(Font f1 = new Font(...), f2 = new Font(...)) .
If you wish to declare two different types you can do that as well; but you need to use two using statements.
using(Font f1 = new Font(...))
using(FileStream file = new FileStream(...))
{
...
} That's a lot of elipsis
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|