|
hi,
Did you closed the datareader before in your prog ???
please post your code of GetProductsDataReader()
regards,
koolprasad2003
If the message is useful for U then please Rate This message...
Be a good listener...Because Opprtunity knoughts softly...N-Joy
|
|
|
|
|
I'm using VS 2005 with SP1. I created a user control. In the same solution I created a new project to test the control. In the test project, I added a reference to the user control project. My user control does not show up in the toolbox. What do I have to do to have it show up?
Thanks,
VF
|
|
|
|
|
add it manually - right-click on toolbox and click add and choose your dll...
|
|
|
|
|
There isn't an "Add" when I right-click on the toolbox.
However, I used the "Add tab", and entered an appropriate name. Then I dragged my dll file into the area in the new tab. Now it shows up.
|
|
|
|
|
sorry went by memory -- see what that got me...
it's actually "choose item" will allow you to add to the toolbox.
|
|
|
|
|
"Choose Items..." and browsing to the dll also works.
Next question: How do I modify the icon for the user control that is displayed in the toolbox. I looked for an Icon property for my user control, but there doesn't seem to be one.
|
|
|
|
|
You don't have to add it manually. This SHOULD show up automatically when you build the project. But, it's been known to screw up. Sometimes closing Visual Studio and restarting it, loading your project and recompiling takes care of it. Other times, you have to right-click the Toolbox and pick Reset Toolbox.
|
|
|
|
|
Still doesn't work. At least I can add it manually.
Do you know how I can modify the icon that shows up in the toolbox? Doesn't seem to be an Icon property for the user control.
|
|
|
|
|
You can't. The icon in the ToolBox doesn't show up properly at all during development. It won't show a proper icon until the control is finalized in a Release build and is registered in the GAC, complete with strong name.
|
|
|
|
|
Hi,
I'm using VB2005 Express to create a small app which is intended to allow me to build up the contents of an XML file.
I've got the DataGridView in place, and it is reading in and displaying the contents of an XML file.
I've got a button on the form which allows me to insert a column in the DataGridView, but when I press 'Save' it writes an XML file, but it doesn't include the new column I've just entered in my grid.
I suspect that it may be a binding problem, but I don't know how to code this part of the app.
Any advice would be appreciated.
|
|
|
|
|
You can try this :
'=====Read and display xml file on DataGridView=====
Dim ds as new DataSet
ds.ReadXml("c:\YourFile.xml")
dgv.DataSource = ds.Tables(0)
'=====End=====
'=====Create new column=====
Dim col as new DataColumn("MyNewColumn",System.Type.GetType("System.String"))
ds.Tables(0).Columns.Add(col)
'=====End=====
'=====Save xml file
ds.WriteXml("c:\\YourFile.xml")
'=====End=====
|
|
|
|
|
OK. This is a typical newbie misconception. The DataGridVIEW doesn't hold the data you're looking at. It mearly SHOWS it. The data is being held is a DataSet object, which is a collection of DataTables and DataRelation object. DataTables hold DataColumns and DataRows.
If you added the column to the DataGridView, you just added a column that can be used to VIEW data, not hold it. You have to add the new column to the DataTable that will hold the data your adding. This will update the schema that's used to write the XML file.
|
|
|
|
|
Thanks for your reply.
I am new-ish to it, and was aware that I was adding the column to my 'view'. I had already tried adding the column to my table, but it just didn't seem to work, which is why I assumed there was some sort of binding problem going on.
If it isn't a binding problem, I must be doing something wrong.
Am I right in thinking that if I read the XML file in, I've automatically got my dataset and tables to work with, and if I update my table in any way I choose (i.e. adding/deleting rows/columns), it is the same table in the exact same dataset that I write back to XML?
|
|
|
|
|
penguin5000 wrote: I had already tried adding the column to my table, but it just didn't seem to work, which is why I assumed there was some sort of binding problem going on.
If you want to see this change, then you either have to manually add the new column to the DGV, or just rebind the DGV to your datasource so it can regenerate the columns it needs to display the data.
penguin5000 wrote: Am I right in thinking that if I read the XML file in, I've automatically got my dataset and tables to work with, and if I update my table in any way I choose (i.e. adding/deleting rows/columns), it is the same table in the exact same dataset that I write back to XML?
Yes. This will overwrite the existing XML file with the new data and schema.
|
|
|
|
|
Guys,
I'm using a CreateObject("objectname"); to attach to an executable (run with windows logon account). Mostly this works fine, but sometimes we need to attach from a service (run under the system account) In this case the CreateObject function doesn't seem to see the executable (windows logon account) running and creates a new instance.
Any idea how to resolve this?
thanks a lot !
|
|
|
|
|
Look at the name of the function you're using. How about trying GetObject instead.
|
|
|
|
|
In fact, before calling CreateObject I check the processes if our application is running, you can only get to CreateObject call when it is actually running...
Do you think that GetObject will attach to the existing application even if it is running under another account? I think I already tried this once a while ago though.
[EDIT]Thanks for the reply [/EDIT]
|
|
|
|
|
V. wrote: you think that GetObject will attach to the existing application even if it is running under another account?
The more I think about this, it should still work. I've never tried to use it from inside a service running under Local System though. You can have an instance of an object running on a remote machine as still attach to it using a different account. The only thing I can see that might get in the way is the permissions of the Local System account. Contrary to belief, Local System does not have God rights to the entire machine, and has just about zero rights to anything off the local machine. So, if your connecting to a remote object, on another machine, Local System cannot be used as the service logon account.
|
|
|
|
|
thanks, unfortunately it doesn't. I almost had a solution where we would restart the service with the windows logon account using WMI. Unfortunaltely again, we can't find the users pwd to do that. (it works hardcoded though)
anyway, my boss wants me to try a different direction first.
Thanks.
|
|
|
|
|
Color.ToArgb() returns an Integer.
I use a color from the ColorDialog as the parameter.(pasted from the Watch window)
+ value "{Name=ff00ff01, ARGB=(255, 0, 255, 1)}" System.Drawing.Color
My tests always result in an overflow error:
"Arithmetic operation resulted in an overflow"
So, A VB.Net Color, passed to a VB.Net Color function, causes an exception?
Why would this not be a UInteger?
An Integer has a max value of about 2 billion. 256x256x256=16777216. 256x256x256x256=4294967296.
-- modified at 10:36 Wednesday 13th June, 2007
Paul Watson wrote:
Like, if you say sort of, like, you know, one more, you know, time, I'm going to, like, you know, sort of sort you out, you know.
|
|
|
|
|
What exactly are you trying to do?
"{Name=ff00ff01, ARGB=(255, 0, 255, 1)}"
This is a serailized form of a color object. Algebraic expressions cannot be used on a portion of this string. If you want to do this, then you will have to get the individual numbers using substring, store the values, and typecast the string to an int32 or use the System.Convert class.
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my homepage Oracle Studios[ ^]
|
|
|
|
|
That was pasted from Debug. I was proving that I was passing in a valid Color argument to the function.
I can use the .A, .R, .G, .B functions to get individual values, and rebuild it, but there is this .ToArgb function provided by Microsoft, why not use it?
My point is an Int32 cannot possibly hold the value. ColorDialog returns every color with an Alpha of 255 (ie Red=255, 255, 0, 0).
Paul Watson wrote:
Like, if you say sort of, like, you know, one more, you know, time, I'm going to, like, you know, sort of sort you out, you know.
|
|
|
|
|
Yes, it can. An ARGB color returns a full 32-bits, 4 bytes, 8-bit values for each. An Integer, or System.Int32 in the .NET Framework, is a signed 32-bit integer. An UNSIGNED 32-bit value, System.UInt32, is the exact same size and can hold the same bytes. What's different between the two, how this relates to the value returned by ToArgb, is the interpretation of those bits.
In the unsigned interpretation, all the bits are interpreted as a positive value, the range being 0 (0x0000 0000) to 4,294,967,295 (0xFFFF FFFF).
The signed interpretation of those same bits is a little different. The most significant bit (far left) is reserved for the sign of the number. This bit is turned on if the number is negative, off if positive. So, the range of numbers is -2,147,483,648 (0x8000 0000) to 2,147,483,647 (0x7FFF FFFF).
Both support the full range of 4,294,967,295 values. It's all in the way you look at them.
So, ToArgb CAN return all those color values in an Integer. It's just half the numbers returned will be negative numbers.
|
|
|
|
|
Dave Kreskowiak wrote: So, ToArgb CAN return all those color values in an Integer
Only if the A value is low enough to NOT CAUSE AN OVERFLOW.
Paul Watson wrote:
Like, if you say sort of, like, you know, one more, you know, time, I'm going to, like, you know, sort of sort you out, you know.
|
|
|
|
|
Richard Jones wrote: Only if the A value is low enough to NOT CAUSE AN OVERFLOW.
Strange, it works perfectly fine for me:
For A As Integer = 0 To 255
Dim mycolor As Color = Color.FromArgb(A, 255, 255, 255)
Dim x As Integer = mycolor.ToArgb()
Console.WriteLine(x)
Next
Now, if you do any math on the very large values returned by ToArbg, such as adding a value to it, that can cause an overflow. The ToArbg method itself cannot cause an overflow.
|
|
|
|
|