|
An alternate approach would be to let the user enter whatever they wanted and then validate it by attempting to cast it to a decimal value:
Try
Dim i As Decimal = CDec(TextBox1.Text)
TextBox2.Text = i
MsgBox("Ok!")
Catch ex As Exception
MsgBox("Doh!")
End Try
If you are in ASP.NET then you could also use a CompareValidator (Set the operator to DataTypeCheck and the Type to Double). When the textbox loses focus the validator will fire.
=======================================
There are 10 type of people in the world....
those who understand Binary, and those who don't!
=======================================
|
|
|
|
|
hello boss,
Dim con As New SqlConnection("database=deltadatabase;user id=sa;pwd=sa;server=localhost")
con.Open()
Dim cmd As New SqlCommand("select * from tbl_adminlogin", con)
DataGridView1.DataSource = cmd.ExecuteReader,
i am using the above code.
there is no error execution
but not binding the data
is there anything that is missing?
Sonia Gupta
Soniagupta1@yahoo.co.in
Yahoo messengerId-soniagupta1
Love is Friendship and Friendship is Love....
|
|
|
|
|
try this plse
Dim con as new sqlConnection("server=local;database=me;user=sa;pwd=sa;")
dim cmd as new sqlcommand("select * from tbl",con)
dim objds as new dataset
objds=cmd.executenonquery()
datagrid.datasource=objds.table(0)
happy.....
cooollll...
|
|
|
|
|
dataset is necessary in the code
Sonia Gupta
Soniagupta1@yahoo.co.in
Yahoo messengerId-soniagupta1
Love is Friendship and Friendship is Love....
|
|
|
|
|
May be there is no data in table
Please try assigning cmd.ExecuteReafder to a DataReader and binding the DataReader to the grid. I think this may help.
|
|
|
|
|
Hello madam,
Dim con As New SqlConnection("database=deltadatabase;user id=sa;pwd=sa;server=localhost")
con.Open()
Dim cmd As New SqlCommand("select * from tbl_adminlogin", con)
DataGridView1.DataSource = cmd.ExecuteReader,
There is a problem in 4th line of ur code. Because ExecuteReader is need to open always upto the end. And the important thing is reader need to read continusly. but u did only one time ExecuteReader. To upload the value to datgrid the following code is enough...
Dim con As New SqlConnection("database=deltadatabase;user id=sa;pwd=sa;server=localhost")
Dim cmd As New sqldataadapter("select * from tbl_adminlogin", con)
dim dset as new dataset
cmd.fill(dset,"Tbl")
DataGridView1.DataSource =dset.table(0)
Pls reply wat ever u go...............
Senthil S
Software Engineer
|
|
|
|
|
data is there in the table
Sonia Gupta
Soniagupta1@yahoo.co.in
Yahoo messengerId-soniagupta1
Love is Friendship and Friendship is Love....
|
|
|
|
|
Then try assinging it to dataset and then binding
|
|
|
|
|
Is it a WinForms or a ASP.NET application?
In ASP.NET you have to call DataGridView1.DataBind(); after setting the DataSource.
-^-^-^-^-^-
no risk no funk ................... please vote ------>
|
|
|
|
|
can we do gprs connection programaticly by vb.net
@h3aR
|
|
|
|
|
Google for "vb.net gprs".
|
|
|
|
|
I am having problem with dataset update! I am using a DataAcesTier to access data and update the data and presentation tier is used to do all the manipulation!
Presentation Tier uses DataAcessTier to retrieve the data but when i try to update the database with dataset , NOTING HAPPENS! NO ERROR but NO UPDATES too..
Here is how it goes!!!
I have a class with the name AccessData in my DataAccessTier and it have somehow this sort of code
public sdaMajorDataAdapter as new SqlDataAdapter
public strAllDBTables(50) as string
'strAllDBTables Array is inialized with table names with a sub routine
Public Function CreateDataset() As DataSet
Dim dsMajorDataSet As New DataSet
OpenDbConnection()
' some code for dbcommand and dbconnection variables etc
'For loop used to loop through the table names
For iCounter = 0 to strAllDBTables.length(0) - 1
sdaMajorDataAdapter.Fill(dsMajorDataSet, strAllDBTables(iCounter))
Next
'I have populated the dataset with all the DB tables supposedly
CloseDBConnection()
'this DS is returned to the class from where its accessed
return dsMajorDataSet
End Function
======
Similary in the same class i have a Function for DB update
Public Sub UpdateDataSet(ByVal updateDS As DataSet, ByVal strTableName As String)
OpenDbConnection()
dim dsUpdate as new dataset
'dbCommand.Connection = dbConnection
'dbCommand.CommandText = "Select * from " & strTableName
'sdaUpdate.SelectCommand = dbCommand
'sdaMajorDataAdapter.Fill(dsUpdate, strTableName)
'I have tried to use dataadapter to fill a new dataset and then try to update .no gain
sdaMajorDataAdapter.Update(updateDS, strTableName)
'Which DataAdapter is to be used here ... or do i need to add update queries
'with adapter?, if YES , how to add it?
' There is no error here but NO UPDATES too?
CloseDBConnection()
End Sub
========
'i am accessing these functions in Presentation Tier Class with the name AdminControlPanel Class
'here i have a variable
dim dsControlPanel as new dataset
dim dsRead as new AccessData ' an object of AccessData Class
dsControlPanel = dsRead.CreateDataSet()
' than all the manipulation is done here and after that i return the DS to data access class for updation like this
dsRead.UpdateDataSet(dsControlPanel, "Name of the table to be updated")
'No Error but nothing happens?
i guess i am doing something wrong as to which dataAdapter is to be used?
Thanks for your time
|
|
|
|
|
You've told the DataAdapter how to retrieve the columns, well, all of them, from the table, but you never told it how to update the database with changes.
It's much better practice to change your SQL to retrieve the columns to want instead of using the * specifier. This prevent your from making a change to the table schema and breaking your code doing it. In most case, you're end up returning far more data than you actually need, thereby killing your SQL Server performance, and if the dataset is transferred over a network, transferring way too much information and bogging down the network.
How you've written your data layer in not a good idea. You're creating a generic method that returns a DataAdapter, but that DataAdapter doesn't have a clue about what columns it's supposed to
SELECT IdColumn, SomeColumn, SomeOtherColumn FROM TableName
When you create the DataAdpater, you need to tell it how to update the coumns in the tables. To do this, you either have to supply the DataAdapter with the SQL commands for UPDATE, INSERT, and DELETE, or you have to use an SqlCommandBuilder object to do it for you:
Dim conn As New SqlConnection(connectionString)
Dim comm As New SqlCommand("SELECT IdColumn, SomeColumn FROM SomeTable", conn)
Dim da As New SqlDataAdapter(comm)
Dim cb As New SqlCommandBuilder(da)
Dim ds As New DataSet()
da.Fill(ds)
Return ds
Warning: This could be a little off. I wrote it from memory, and I'm half asleep right now...
|
|
|
|
|
I was just trying to get all the data at front end in dataset! Thats why populated it with all the tables!!!
So, I have to populate my dataset with a single table if i intend to use SqlCommandBuilder! I was trying to use it too but even this was not working, probrably becasue of multiple tables in dataset !!!..
Thanks for the advice sir!
|
|
|
|
|
Hello,
I am developing an application that has a menubar. On selecting menu items, I got to open differnet windows (Forms).
This all makes the main program have nothing except the menubar. I want that on clicking any menu item, the respective form comes somewhere on the main window only. On close event of the new form, it gers closed - disappears. So, the new form is inside the main form only. New window is not opened. How do I acheive something like this. If I add a Container in the main window, can I add a form in it. Or Do I have to make the new form as a Panel and add it in some how. If it is a Panel,. then how do I add in the main form. ????
I don't know how do I acheive such a thing in VB.NET. I would appreciate, if anyone can help me out.
Thanks
Terry
|
|
|
|
|
hi,
for each "subform" use a "user control".
In the area where you want the subform to appear add a correctly sized panel.
then you can make your user control's parent the panel and add the usercontrol to the panels controls collection.
when you want to use a different usercontrol just remove the original from the panels control collection and add the new one.
a new user control can be added to a solution by right clicking on the solution in the solution explorer and doing an Add new Item (vs2005)
select a usercontrol and then you will get a screen you can add components to.
when you are done
at the menu button click event you can do something like (VB pseudocode)
dim myUc as UserControl = new UserControl
myUC.parent = parentpanel
parentpanel.controls.add myUc
..
dont forget to remove the old UC fromthe parentpanel collection , otherwise it will still try and display and its z-order may be higher than the new one so it will be "above" it
hope this helps
Martin
life is a bowl of cherries
go on take a byte
|
|
|
|
|
Thanks Martin & TDDragon.
I tried working with both & Both are good solutions. I prefer only 1 control per screen - in that scenario UC is best. I also need to have a Report and a form with Letter templates, RichTextBox to write letter. Will UC be able to handle this? Also will UC be able to manage with DB, as I got to work with DB a lot.
In MDI, can I ahve control over opening N number of forms. Like if same form is opened, I can just bring it to front but if I want to open only 2 forms max at a time. Is it possible.
Please guide me accordingly, so I can finalize which o choose and start working on it at the earliest.
Thanks
Terry
|
|
|
|
|
Hi,
a UC is in effect a form in the designer
just drag and drop what you need.
as far as scope is concerned a textbox in a uc is addressed from outside the UC in this way:
dim myuc as MYUC = new MYUC
myuc.Texbox.Text = "text"
but all controls that go in a form , goes into a uc
martin
life is a bowl of cherries
go on take a byte
|
|
|
|
|
with UC you should be able to do all the things you want (works pretty much the same as form)
to have control over openening number of forms in mdi you can do it like following:
when openen a form (user clicked to open it)
first check if the form already exist
iterate true the mdichildren collection of you're main form and if you find a form of the same type as the one that needs to be opened just put that form on top (property bringtofront or something)
of you want to be able to open max2 forms do the same but use counter. then after you iterated true the forms look at counter
dim counter as integer = 0
for each f as form in frmmain.mdichildren
if f.gettype.equals(gettype(frmsubformthatneedstobeopened)) then
counter =+1
end if
next
if counter <2 then
open new form
else
'do something
end if
hope this helps
|
|
|
|
|
look at the mdiparent property of a form
it will do excactly what you want
you can add a form to you're main form as follow
mnuclick
dim frm as new form1
frm.mdiparent = me
frm.show
-- modified at 4:53 Thursday 9th August, 2007
this does require that you put the mdiproperty (at design) of your main form to true
|
|
|
|
|
Hi,
I think Control.SetTopLevel() method is part of the solution when applied to a form.
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/...
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
Like Luc said, you can change a form so it behaves move like a control. Have you ever looked at the inheritance tree for the Form class? It derives from Control. So, it's very easy to treat a form just like it was a control. All you have to do is change one little property:
Dim myNewForm As New WhatEverForm
myNewForm.TopLevel = False
myNewForm.Location = New Point(30, 30)
Me.Controls.Add(myNewForm)
|
|
|
|
|
Thanks All of you.
You all have helped me decide which and what type should I use.
According to you all, I hace used UserControl and Form too. Like Luc and Dave said, I am displaying my form as a Control. If user opens another form, the first one is only active until user closes it, the second soesn't come on top. Just needed to add 1 line, which I was wondering you guys have missed out.
cd = New CustomerData()
cd.TopLevel = False
cd.SetBounds(0, 30, cd.Width(), cd.Height())
Me.Controls.Add(cd)
cd.Show()
Thanks a lot to all of you for your devotion, interest and guidance. I highly appreciate your help. I have voted all of you 5 points.
Thanks
Terry
|
|
|
|
|
Hi all
I need to move a control in my program
|
|
|
|
|