Showing posts with label object. Show all posts
Showing posts with label object. Show all posts

Saturday, March 31, 2012

Subrotine

Hi !
Greetings to all!
Can anybody explain why we have to write "s as object, e as eventargs " in sub routine.
with advance thanx
VijayWhen using event handlers these objects are used to provide your event handler with info about the event and what object caused the event.
Hi Vijay,

s is the object which called the subroutine and
e is the arguments of the event associated with the object.

If you are using Visual Studio then try the different properties of s and e

hope this helps

Substitue ItemArray with something else in a FormView

When loading a FormView I try to fill a third-party combo control with
this code:
Protected Sub FormView1_ItemCreated(ByVal sender As Object, ByVal e As
EventArgs)
If FormView1.Row.RowState = DataControlRowState.Edit Then
Dim rowView As DataRowView = TryCast(FormView1.DataItem,
DataRowView)
If Not rowView Is Nothing Then
'Get and fill cboProject
Dim strProjectID As String =
TryCast(rowView.Row.ItemArray(8), String)
Dim cboProject As WebCombo =
TryCast(FormView1.FindControl("cboProject"), WebCombo)
cboProject.Value = strProjectID
End If
End If
End Sub
It works great except that I would like to change
"TryCast(rowView.Row.ItemArray(8), String)" and use the column name
instead of ItemArray(8). I have many columns in the FormView so it's
very difficult for me to guess which number represents a certain
column.
How can this be done?
I'm very grateful for help!
// SHi there,
First of all it's better to move databound-releated code to DataBound event
handler. Second you can access column by names directly from DataRowView:
protected Sub FormView1_DataBound( _
ByVal sender As Object, _
ByVal e As EventArgs)
dim formView as FormView = DirectCast(sender, FormView)
if formView.CurrentMode = FormViewMode.Edit then
Dim rowView As DataRowView = TryCast( _
formView.DataItem, DataRowView)
Dim cboProject as WebCombo = TryCast( _
formView.FindControl("cboProject"), WebControl)
cboProject.Value = Convert.ToString(rowView("ColumnName"))
end if
end sub
Hope this helps
--
Milosz
"staeri@.gmail.com" wrote:

> When loading a FormView I try to fill a third-party combo control with
> this code:
> Protected Sub FormView1_ItemCreated(ByVal sender As Object, ByVal e As
> EventArgs)
> If FormView1.Row.RowState = DataControlRowState.Edit Then
> Dim rowView As DataRowView = TryCast(FormView1.DataItem,
> DataRowView)
> If Not rowView Is Nothing Then
> 'Get and fill cboProject
> Dim strProjectID As String =
> TryCast(rowView.Row.ItemArray(8), String)
> Dim cboProject As WebCombo =
> TryCast(FormView1.FindControl("cboProject"), WebCombo)
> cboProject.Value = strProjectID
> End If
> End If
> End Sub
> It works great except that I would like to change
> "TryCast(rowView.Row.ItemArray(8), String)" and use the column name
> instead of ItemArray(8). I have many columns in the FormView so it's
> very difficult for me to guess which number represents a certain
> column.
> How can this be done?
> I'm very grateful for help!
> // S
>