Forms Data Controls :: How To Get Item Databound Value In A FormView
Apr 27, 2010
i already have a DataList, and i get any information from the rows i need by adding code such as:
[code]....
Well what i am doing there is using the values from the items that the DataList has obtained from the rows, now, what i need to do is EXACTLY the same, but for the FormView, i realised that this code does not work for the FormView, but only DataList control.
give me the code for doing exactly as shown, but for the FormView control.
I have a very simple form that contains a FormView Control Bound with a SqlDataSource, The DefaultMode of the FormView control is "Insert". I noticed that when I run the page for the first time, the databinsing and databound events of the FormView Control occurs after the PreRender Event of the page ! I know very well the life cycle of a page, but I dont know when the data binding occurs in the life cycle of a page and if it can differ from a control to another.
Is there an article or a tutorial explaining all those things.
I've got a repeater bound to a datasource through the code behind. Everything is working fine so far except for this, I'm trying to concactenate a bound field as the id on a query string to an image handler:
I have a page that has a formview on it. Client info, name, address, usual stuff. The formview is populated by a DataSource, that calls a SQL stored procedure for the client info. It all works great.Within the formview, I have a dropdownlist for the Staff assigned to the client (StaffId is a member of the Client record called during the Formview binding). When the formview is in Item mode, the Staff name appears in a label, when in Edit mode, the dropdownlist is bound and populated by another DataSource that calls a stored procedure of ActiveStaff. When the assigned staff exists, the StaffId is correctly bound to the DDL SelectedValue and the current staff name appears selected in the DDL when in edit mode, as it should.
I have a simple databound dropdownlist. On top, I have a default selection, '--Please Select--', followed by another default selection, '-- Other --'. Here's the script:
[Code]....
Now, my user wants the '--other--' selection to appear on the BOTTOM of the dropdown as opposed to right sfter '--Please select--'. How do I accomplish this?
last year I inherited a webapplication that seems to refuse to run on a new hosting company's servers due to a "security violation"... Our old host was bought out and now sucks...So I uploaded the code to the new company - looking forward to some sleep and found that my life was about to get more complex.. I go the good old generic security error
The biggest issue was that it didn't say where the error was.. Digging deeper (taking the code appart one block a time) the error was being triggered by the followin itemdatabound event. My host says it is because they are running under medium trust, but I am not seeing why this block should cause issues. Any help very much appreciated.
Sub dlstAlsoDish_ItemDataBound(ByVal s As Object, ByVal e As DataListItemEventArgs) Handles dlstAlsoDish.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then Dim lngDateType As Long = e.Item.DataItem("dateType")Dim strEvent As String = "> " & e.Item.DataItem("restName") & " :: " & e.Item.DataItem("eventName") & " : " Dim lnkAlsoEvent As HyperLink = e.Item.FindControl("lnkAlsoEvent")Dim dtmStart As DateTime = e.Item.DataItem("eventSrt")Dim dtmEnd As DateTime = e.Item.DataItem("eventEnd")If lngDateType = 1 Then strEvent = strEvent & Format(dtmStart, "MMM")ElseIf lngDateType = 2 Then strEvent = strEvent & Format(dtmStart, "dd MMM") & " TO " & Format(DateAdd(DateInterval.Day, -1, dtmEnd), "dd MMM")Else strEvent = strEvent & Format(dtmStart,"dd MMM")End If lnkAlsoEvent.Text = strEvent lnkAlsoEvent.NavigateUrl = e.Item.DataItem("restURL") & "/events.aspx#e" & e.Item.DataItem("eventID")ElseIf e.Item.ItemType = ListItemType.Header Then imgBorder.ImageUrl = strImageURLDim imgBorder As Image = e.Item.FindControl("imgBorder")End If End Sub
I have a Formview ('formview1') with a pager. I also have a gridview ('gridview1') linked to a SQL datasource ('History'). I need to set the SelectParameter ('Serial') of the datasource to be the value of a field on the current page in the formview. The value i need to get is in the ItemTemplate and is a label called 'SerialNumberLabel'. So, something like:
<SelectParameters> <asp:ControlParameter Text = "Eval fromview1.currentpage.itemtemplate.SerialNumberLabel" >
I also need to ensure that the SQL source and gridview rebind when the pager is activated.
I have been trying for a while to populate a formview when I select an item from the dropdownlist. The dropdownlist is outside of the formview. For some reason, when I select a different item it does not change in the formview. Only the first item of the list shows up. I don't know where I'm doing wrong. I tried many things and suggested informatioin and I still could not get it to work. When I do try to switch I get this error message:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
I have a Formview residing inside am Item Template of a Gridview. The formview is not populating, and I am pretty convinced that I am not passing the parameter properly from the Gridview to the Formview. I have listed the relevant code only, so that you can scan though it easierGridview tag:
Sub PFTFormView_ItemUpdating(ByVal sender As Object, ByVal e As FormViewUpdateEventArgs) Dim PFTObj As New PFT Dim PFTDST As New Data.DataSet Dim newPFTLastName As String = DirectCast(PFTFormView.FindControl("txtPFTLastName"), TextBox).Text Dim newPFTFirstName As String = DirectCast(PFTFormView.FindControl("txtPFTFirstName"), TextBox).Text PFTObj.PFTLastName = newPFTLastName PFTObj.PFTFirstName = newPFTFirstName PFTObj.PFTHome = DirectCast(PFTFormView.FindControl("txtPFTHome"), TextBox).Text If PFTObj.UpdatePFT(Session("PFTId")) Then Me.lblErrorMessage.Text = "PFT Update Successfully" Else ' Me.lblErrorMessage.Text = "PFT Update UnSuccessfully" End If PFTDST = Nothing PFTObj = Nothing end sub
In web config file I have add key values specified.
In the formview I have labels on edit , item and insert mode that I want to display all the time by getting those values from web config. I'm able to do that with no problem but when I change the modes between edit to insert or item view, I lose those label values until I hit the "select" twice from the Gridview, those values re-appear. Below is the snippet of the code. What do I need to do to retain the category values all the time?
I wish to add a sub to vb file that changes the display value of several asp:panels located in a Formview Item Template. My only question is what is the proper event to run this in. (databound, item created etc...) If it matters this formview appears in a Gridview Item Template.
I'm working in a web application and my page is using a databound formview control. When i first enter the page via my code, I am unable to retreive a value from any of my controls -e.g. when i debug, i see that tbDate.text has no value (see code below). How can I retreive the values from the controls on my page e.g text boxes?
Code:
if (!this.IsPostBack) { TextBox tbDate = (TextBox)FormView1.Row.Cells[0].FindControl("txtDate"); }
I have a formview with various templates set up for a database that has 255 columns. I need the insertitemtemplate to pre-fill values based upon a specific selection by the user (just like the edit item template) but when the template is switched to insertitemtemplate every text box is cleared. The idea is that a new entry is usually made by making minor changes to an existing entry. With 255 fields I don't want to require the user to enter every field when only three or four need to change.
I am trying to get a drop down and a form view to work together. I've never used form views before. I also am using the entity framework to do everything. This is also my first time with it.
I want to be able to have a drop down, that is populate from the same data source as the form view. So far that works fine.
I then want to be able to change the drop down item, and it change the form view item that is displayed. I cannot figure out how to make this work.
I'm using visual web developer and MS.Access and have the following created. 1. A formview control to enter data into the database 2. A File upload control that allows users to upload files. But however i'm unable to include the file upload control in the formview control. How can i achieve this? Below is the code for the page:
I am "trying" to switch my form from SqlDataSources to ADO.NET data sources. So I have a DAL setup, and ObjectDataSources in my form referencing these DALs. These data sources are bound to the form's objects. So far so good. In the InsertItem Template of one of the form's FormViews I have a list box that I am trying to populate with a value pair (ID, TechName) from a database table and I get the following error: "Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control." Apparently, one of the two workarounds involves programmatically loading the listbox. The code below shows one of my attempts, resulting in the above mentioned error:
Code: Protected Sub TestFillDefaultValueInFormView() Dim vInspectorList As DropDownList If (FormViewHydInspection.CurrentMode = FormViewMode.Insert) And Not IsPostBack Then vInspectorList = DirectCast(FormViewHydInspection.FindControl("DDlstInspBy"), DropDownList) vInspectorList.Items.Clear() Dim vInspectorDA As New DataSetHydrantsTableAdapters.TechnicianTableAdapter() Dim vInspectors As DataSetHydrants.TechnicianDataTable = vInspectorDA.GetTechnician() Dim vInspRow As DataSetHydrants.TechnicianRow Dim vInspectorHT As New Hashtable vInspectorHT.Add("0", "Select Technician") For Each vInspRow In vInspectors If vInspRow.TechID <> 0 Then vInspectorHT.Add(vInspRow.TechID.ToString, vInspRow.TechName) End If Next vInspectorList.DataSource = vInspectorHT vInspectorList.DataTextField = "value" vInspectorList.DataValueField = "key" vInspectorList.DataBind() End If End Sub
I tried populating the listbox directly using the Listbox.Items.add() method (which is the way I have it now so I could continue solving other problems, and it works!) but I could not find a way to add a value pair. I did try:
vInspectorList.DataTextField = "Select Technician" vInspectorList.DataValueField = "0" but that left a listbox without any data.