Forms Data Controls :: FormView Refresh Schema With ObjectDataSource Not Working
Jan 22, 2011
I'm having a problem with a FormView control that I have bound to an ObjectDataSource. The problem is that the FormView control is not automatically filled in with the public properties of the object linked by an ObjectDataSource control when I select refresh schema. Everything compiles and I can add fields manually, but there are a lot of properties in the class and I do not want to deal with adding all the fields by hand. It's not the end of the world of course if I have to add them manually, but I'm bothered more by the fact that it doesn't act the other formviews.
Has anyone ever experienced a problem like this? I have other objectdatasource controls with other formviews that properly refresh their schemas. I noticed that in the objectdatasource control that is giving me problems, the DataObjectTypeName field is not automatically set as it is in the others. However, after adding it manually it still doesn't refresh the schema. I'm using Visual Studio 2010. Defined in .aspx page:
[Code]....
The SPFModuleBLL class contains the GetModule2() method which is shown here:
I was able to get the formview bound to the objectdatasource, it works great for the first record, but when i select the next record it gives me error below is all my code, if there is something else that i need to post .
I have a Gridview connected to an Access database using a Datasource and a query SELECT * FROM [Staff]. In order to update the grid view I have to do it in the IDE and click Refresh Schema. I have tried:
StaffList.SelectCommand = "SELECT * FROM [Staff]" StaffList.UpdateCommand = "SELECT * FROM [Staff]" StaffList.DataBind() Staff.DataBind()
I'm using a FormView which has odsMain as the datasource. I am also using a dropdownlist which is being populated with objectdatasource odsddl.
I'd like to set the selectedvalue of the dropdownlist with the value contained in odsMain (the current record value for it). Is there any way this can be done?
I have an ObjectDataSource giving me data similar to: OrderNumber OrderDate OrderValue OrderItems The first three are simple data types and the last has multiple occurrences of another class: OrderLineNumber OrderItem OrderQuantity The ObjectDataSource will only contain one row (which might make things simpler). So, there will be one OrderNumber, OrderDate and OrderValue; and then several occurrences of OrderItems (each containing OrderLineNumber, OrderItem and OrderQuantity).
I am displaying OrderNumber, OrderDate and OrderValue in the FormView - that work's fine, as expected. I have placed a GridView within the FormView and am failing miserably to get it to bind to OrderItems. I have tried the obvious things like specifying "odsWhatever.OrderItems" as the DataSourceID for the GridView, but to no avail.
I have a FormView bound to an ObjectDataSource that is bound to a business logic object. The business logic object has a Readonly field called "Id". When I try to update the formview, I get the following error message: The 'Id' property on the type specified by the DataObjectTypeName property in ObjectDataSource 'ObjectDataSourceNewsArticle' is readonly and its value cannot be set. How do I get the ObjectDataSource or the FormView to recognise that the id field is readonly, and to not try to update it?
Basically as the title of this thread states, I have a FormView that has a GridView inside it and my ObjectDataSource that populates this grid cannot access the Grid.
The Control Id needs to be the name of the Grid I want to access, however through the 'wizard' the Control parameter drop down cannot 'see' the grid I need, only the FormView that is in.
I have tried numerous ways to get round this and am struggling now..
I've tried the following...
ControlID="FormView.GridView1"
ControlID="FormView.FindControl("GridView1")
ControlID="<%= GetNameOfGrid %>"
and numerous other attempts that also failed that I now cant remember...
I am using an ObjectDataSource in my FormView for INSERT.
Data inserts correctly to my backend SQL table, however as i am posting back a success/fail message to the same page, i have noticed that after a successful INSERT if it hit the Refresh button the INSERT is doubled up.
How can i stop a user pressing the Refresh button and doubling the INSERT?
Is there a setting somewhere or can i stop this programmatically within my ObjectDataSource_Inserting method perhaps?
I have a strange issue with the FormView. After working through some issues getting the update to work (as this is my first experience with FormViews) I now have a new issue. After I perform an update, and the FormView updates and returns to read mode, if I hit F5 (refresh) the FormView performs another update to the datasource, despite the fact it is read-only mode and none of the fields on the screen are editable.
I would think that a refresh in read mode for the FormView after an edit would simply refresh the data from the database, not perform another update. Again, the FormView is in Read Only Mode, but a refresh is creating another Update event (which I can debug and see if I break in the ItemUpdating event). This only happens after I perform an edit, not when the page initially loads.
I have created a simple dataset with my ObjcetDataSource to my SQL table named Invoices and a new FormView. My form inserts are working 100% correctly, however after some testing i noticed the insert happens again if i hit the refresh button on my browser after an initial insert. I am currently submitting the form back to itself with a success/fail message returned on the page so that the user can keep inserting more records if they choose. This is done in my Inserted behaviour.
In my ObjectDataSource_Inserting code i am setting the values of a date prior to my insert. How do i stop a second INSERT from happening when the user refreshes the browser? I thought it was what IsPostBack was used for? Here is my code:
Can Someone explain why this doesn't work here, when it works in another formview? [Code].... I Get Object Reference Not Set, but its all there. I see no reason why it shouldn't work. Same error happens if i remove the first if statement and leave the second it Gives an error on LocationAddButton.Visible = false;
am working with form view for the first time.My issue here is i have an insert item template and edititem template where i have dropdownlist to insert and edit data in to databasemy code below
I have a formview and data source that opens in the edit template and allows the user to update a few free form text fields. I also have some drop down boxes that allow a DOB to be built and populate another text box. All of this was working fine yesterday, and today somehow I hosed it and can not find the cause. I have rebuilt this page three times to get it working again, but I can't figure out what I am doing wrong to break it.
I have a formview which in insertmode is required to assign a value to a textbox from another on textchange event. I can't get it working. here's formview code (in bold: event call:
I have a formview that displays user info from a dropdownlist. One account may have many users, but one account Primary. I am trying to disable the Edit/Delete button in the formview if the selected ID is the account primary. The problem I get is this.
Step 1: page_load - the primary user is displayed by default, but the delete button is enabled - not right
Step 2: I use the dropdownlist to select another user (not the primary) - everything's fine
Step 3: I then select the Primary User, the Delete Button is disabled - perfect
Step 4: select another user, delete button still disabled - Not right.
[Code]....
1. As you can see my sqlSelect Parameters are bound to the DropDownList.SelectedValue, but is t seems like my if statement for comparing selecteduser to varAdminID doesn't work except once.
So to help debug, i added a label control that displays the selected userID, but on page load the label is blank. but it displays the first record on the list anyway. so if this is the reason for not disabling the delete button on page load then why later does it not reable the button when the user is not the primary, and the UserID is displayed on the label and it is not the primary userid?
Two text boxes on a formview need to be prefilled with data (coming from session variables) on page load. The formview is in Insert mode by default. Is that the reason why it shows blank fields...
How do I get two fields filled in with data on page load.. the user will enter the rest of the fields and Click on Insert.
[Code]....
I put break points and saw that the data was coming in as expected...but when the page loads with formview, the text boxes do not show any data.
I have a series of classes that loosely fit the following pattern:
public class CustomerInfo { public int Id {get; set;} public string Name {get; set;} public class CustomerTable { public bool Insert(CustomerInfo info) { /*...*/ } [code]...
I am working on an application and am attempting to use Linq with and ObjectDataSource but I only want to display/update 50% of the fields that are in the corresponding table. It appears to me that for this to work correctly, I need hidden fields on my form for all of the data fields from the table that the user cannot access. Is this the only way to do this? I have the following in my update method of my ODS:
[Code]....
The problem is, only the fields that appear on the form have data in them.
I have a problem when I try to pass in paramaters for a report in my report viewer. I have set up the ObjectDataSource and set the paramaters for 3 text boxes that are on the page. The only way I have found to set the paramaters for the report is the user must fill in the paramaters and hit the refresh button on the Report Viewer toolbar ,but I would like to have the user click a asp.net button insted. Is there anyway to call the refresh method from codebehind?
I would like to ask if it is possible to access data on a master FormView from a nested detail FormView.
I have a main form (master) with several tabs (detail) and would like to display a label with text from main form that is hidden by the tab at the moment of editting. My asp page looks like this.
[Code]....
Is it possible to get the value of the label CompanyTextLabel from CompanyTextBox using just ASP.NET expressions or something similar without writing c# code in .cs file?
I am trying to update record in GridView. But ObjectDataSource is creating original_{0} and new vlaue object (exactly the same).ObjectDataSource.UpdateMethod is as follows
[Code]....
The paremeters ("original_ProductBO" and "productBO") in the above function are supposed to have different values since I am editing record in GridView and then updating it.I have the checked the query by hard coding parameter values and it works. In the ObjectDataSource_Updating(..) event, I cheked the parameters ("original_ProductBO" and "productBO") , I am getting the same values. Can anyone tell why tow parameters have the same values when I am editing record in GridView Code for the ObjectDataSourec and GridView is attached below
I have an ObjectDataSource which refers to a class in my business logic. I have added this code
[Code]....
to a method within the class. That is the method specified as the UpdateMethod of the ObjectDataSource. The ObjectDataSource is attached to a FormView. I am seeing the following behaviour: Before I add the attribute, the update function works as expected; With the attribute, if the user has TestRole then the update works as expected; With the attribute, if the user doesn't have TestRole then the update method does not execute, but no exception is thrown. So, the functionality is restricting access to the method exactly as it should. However, no exception is thrown when access is denied.
As an aside, I have tried adding the attribute to the class rather than to the specific method. With that in place, I do see an exception (if the user does not have TestRole) as soon as execution goes anywhere near the class. This cannot be my final solution though as different methods in the class need different restrictions. Obviously, I don't want the update to fail silently, I need the exception to be thrown so that I can handle it.
I have a formview that use the formview iteminserted event. The information inserts into the formview fine, but all cells blank out after the insert. How can I make it so I can show all the values I have inserted show up in the formview after the inteminserted event?