|
Hi,
To return multiple values from a function, you will have to pass the arguments ByRef, not ByValue. The values you want to return will only be set to the arguments and these will be refelected outside the function.
Search MSDN for ByRef keyword for more details !
"A good programmer is someone who looks both ways before crossing a one-way street." -- Doug Linder
coolestCoder
|
|
|
|
|
thank you sir... your help is highly appreciated...
nothing is impossible.....
|
|
|
|
|
An alternative is to define a structure that has two values and return that. In .NET 2 you could use one of those libraries that has a Pair generic class, e.g., see the free PowerCollections library. In C++ the Standard Library also defines a Pair class precisely for situations where you want to return two values - which is quite a common scenario in fact. I try to avoid ByRef when possible because it makes code less clear. But often you can't avoid it. Unfortunately, I'm not using .NET 2.0 yet, so can't use libraries such as PowerCollections.
Kevin
|
|
|
|
|
Hi,
Alternatively you can simply work with arrays. I managed to do it like this:
Private Function Amounts(ByVal SomeByValIfNecessary As String) As Integer()<br />
Dim AMarray(2) As Integer<br />
Try<br />
AMarray(0) = 1<br />
AMarray(1) = 2<br />
AMarray(2) = 3<br />
Return AMarray<br />
Catch Ex As Exception<br />
msgbox(Ex.message)<br />
End Try
Elsewhere you can then call upon the different returned values like this:
SomeIntegerVariable1 = Amounts(SomeValueForTheByref).GetValue(0)<br />
SomeIntegerVariable2 = Amounts(SomeValueForTheByVal).GetValue(1)<br />
SomeIntegerVariable3 = Amounts(SomeValueForTheByVal).GetValue(2)<br />
Hope this helps,
Johan
-- modified at 7:30 Friday 24th November, 2006
|
|
|
|
|
Have anyone tried doing scheduler b4?? I have this problem tt i am not able to solve for wks already. My scheduler is able to perform a 1 time shutdown but not able to perform scheduled daily, weekly or monthly. Can anyone help me please......
|
|
|
|
|
What's the problem? All you have to do is setup your Timer code to check to see if the scheduled time/date of each scheduled task has past already. If is has, launch the task, then change the schedule to the next date/time is should start again.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
ya i know the concept.. But the problem is i do not know how to update the date after the 1st action...
|
|
|
|
|
What do you mean? What did you do to store the date in the first place?
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Im writing an asp.net application that 5 persons will be using. How do i go about locking data edit when its been editing by another person
|
|
|
|
|
recording currently user,then locked it
--
when someone login,recording his info in database,then otherone login,access this info table,if someone in it ,then locked database for this one
|
|
|
|
|
This question really belongs in the ASP.NET forum. But, since, in an ASP.NET app, there is no guarantee that the person will actually edit and submit the changes before the session times out. Does it sounds like locking records is not a good idea? You'll have to write code to handle the timeout of the session and, if you get no response from the user, unlock the records in the database. If you really want to do this, you'll have to implement some kind of "checkout" scheme in your own custom session manager.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Would not Transactional-updates also be a factor here? Locking the entries for the purpose of updating their content without allowing anybody else to simultaneously modify the same information.
Correct me if I'm wrong, but I figured this was more of a TSQL question
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
Hi!
for your convinience i am attaching the below code. I have a treeview web control populated dynamically via a sql server database. environment i am on is (visual studio .net 1.1 and sql server 2000)
each node in a treeview is a hyperlink and below code is for index.aspx.vb
i am filtering a datagrid based upon a tree view node selection which works fine. but when i select the treeview node, the treeview doesnt maintain its state i.e. it collaspe back to its original non expanded view. i searched really hard over the net but i am nothing getting a proper solution. there is no autopostback in my treeview control. All i want to do is maintain the previous treeview control state in a treeview upon navigate URL i.e.
nodeAutoCat.NavigateUrl = "Index.aspx?CatId=" + Server.UrlEncode(CType(rowAutoCat("CatId"), String))
-----
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'initialize the sql connection
objConn = New SqlConnection(dbPath)
'get a ID via NavigateURL of treeview web control
Dim value As String
value = Request.QueryString("CatId")
If value <> Nothing Then
Dim dsProducts As New DataSet
cmd = New SqlCommand("SELECT vehId, vehName, vehImgRef from vehicle where catId ='" + value.ToString + "'", objConn)
Dim daAuto As New SqlDataAdapter(cmd)
'filter the datagrid based on treeview node selected
daAuto.Fill(dsProducts)
dgProducts.DataSource = dsProducts
dgProducts.DataBind()
End If
'populating treeview control
If Not IsPostBack Then
Dim objDS As New DataSet
Dim daAutoType As New SqlDataAdapter("SELECT AutoId,AutoType FROM AutoType", objConn)
Dim daAutoCat As New SqlDataAdapter("SELECT AutoId,CatId, CatName FROM Category", objConn)
daAutoType.Fill(objDS, "dtAutoType")
daAutoCat.Fill(objDS, "dtAutoCat")
objConn.Close()
objDS.Relations.Add("AutoTypeToCat", objDS.Tables("dtAutoType").Columns("AutoId"), objDS.Tables("dtAutoCat").Columns("AutoId"))
Dim nodeAutoType, nodeAutoCat As TreeNode
Dim rowAutoType, rowAutoCat As DataRow
For Each rowAutoType In objDS.Tables("dtAutoType").Rows
nodeAutoType = New TreeNode
nodeAutoType.Text = rowAutoType("AutoType")
nodeAutoType.ID = rowAutoType("AutoId")
TreeView1.Nodes.Add(nodeAutoType)
TreeView1.EnableViewState = True
For Each rowAutoCat In rowAutoType.GetChildRows("AutoTypeToCat")
nodeAutoCat = New TreeNode
nodeAutoCat.ID = rowAutoCat("CatId")
nodeAutoCat.Text = rowAutoCat("CatName")
'add a link to each node.
nodeAutoCat.NavigateUrl = "Index.aspx?CatId=" + Server.UrlEncode(CType(rowAutoCat("CatId"), String))
nodeAutoCat.Expanded = True
nodeAutoType.Nodes.Add(nodeAutoCat)
Next
Next
'clean up
objDS.Dispose()
daAutoType.Dispose()
daAutoCat.Dispose()
objConn.Close()
objConn.Dispose()
End If
End Sub
-----
please help as i didnt get a proper answer from my earlier post
cheers.
|
|
|
|
|
What do you mean by "maintain viewstate".
Are you asking how to maintain the contents of the treeview? If so that should probably be handled with the TreeView.EnableViewState bool method.
If you're asking how to have one tree-branch expanded upon page load, why not check the value of the tree branches from the last postback and then expand whichever one you want in the codebehind?
Explore the .Collapse and .Expand methods of the TreeView object.
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
Sorry for confusion, I mean how to leave the tree branch expanded after user clicks on a node.
|
|
|
|
|
You should be able to accomplish this by using the .Expand() method of the TreeView.Node class.
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
TreeView has a member called TreeNode.
Is that what you mean?
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
Hi Jonathan
I am sorry for my earlier post. where would i be using expanded method.
a code hint will be great coz i am running out of ideas as i am very new to this.
thanks
|
|
|
|
|
That answer is in my first response to your question. Go view it, and come back if you still have complications.
Best of luck!
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
I do really understand what you are trying to say in your previous post but the thing is i just dont know how to convert them into coding level.
when user selects a particular node and clicks it i somehow need to store that value so that i can go search for selected new node and populate it after postback on page load.
but i dont know how to do it. please help
i managed to get it working using a framesets but i am not quite happy with it. i just want to learn how to make this working without using framesets.
|
|
|
|
|
Hi!
If you look in my code carefully. I have binded the treeview with the data returned from a dataset. I dont know how can i utilize your code. All i am trying to do is.
some how get the node value or ID of the treeview after postback i.e. after line
nodeAutoCat.NavigateUrl = "Index.aspx?CatId=" + Server.UrlEncode(
CType(rowAutoCat("CatId"), String)) is executed.
so when the page loads up with above url
Index.aspx?CatId = 15
I am filtering the datagrid in my page load with the products that belongs to category 15 [ In the content page of Main page]
and I want to have the treeview expanded to the node which was selected just before the postback [Navigation pane in main page]
but all my node gets collasped after postback but i can filter the datagrid.
please help.
a code hint will be great.
|
|
|
|
|
Edit your original post - don't create another
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
To begin, I have just started a VB.Net course. I am an absolute begginer, so be gentle with me.
I have a problem with getting the correct amount of days in the right month. I have been at this all day and i'm still stuck.
Any ideas would be most helpful
Regards Cedrick de'Orange
|
|
|
|
|
You'll find your answer in the Date object. There is a public method called DaysInMonth which takes two arguments, the Year, and the Month - both integers.
Label1.Text = Date.DaysInMonth(year As Integer, month As Integer)
Label1.Text = Date.DaysInMonth(2006, 7)
"I forgot to add, I am using a domain up and down for the months and a numeric up and down for the days"
What do you mean 'domain up and down'. As for the Numeric up and down controller, just use the .Value property of the NumericUpDown control. You will also have to cast the value to an Integer, because the DaysInMonth method will not accept a Decimal value, which is what NumericUpDown naturally is.
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
Label1.Text = Date.DaysInMonth(2006, CInt(NumericUpDown1.Value))
End Sub
Jonathan Sampson
www.SampsonResume.com
|
|
|
|
|
My question is rather simple. We all have played computer games, or other console-based games, where at any given moment you can type in "thereisnotry", or something similar and it activates a new feature, be it a class method giving you maximum health, or whatever.
How exactly can that be done in VB.NET? Line, at any time if I type in "magic string" I can catch that event (is that an event?) and handle it...
Jonathan Sampson
www.SampsonResume.com
|
|
|
|