Forms Data Controls :: Formview LinqData Source Not Allowing Updates?
Aug 18, 2010
I've set up a formview with a Linqdata source to allow users to edit records. When I run it, edit data and submit, it blows up and tells me "Linq datasource6 does not support the Select property when the Delete, Insert or Update operations are enabled." I googled that warning and saw a couple of posts on this forum saying the problem is the slect statement has to be removed from the Linq data source for it to allow updates.
But if I remove the select statement then how do I show the user specific info on pageload? plus I thought the two way databind was an advantge of the datasource control.
I have a ASp:Menu control in my Master Page . I want to change DataSource of my Asp:Menu on Login depending upon the role of the user (as if admin/user/staff etc) so when i tried to change the data source of asp:menu by
menu1.DataSource= ds_director; menu1.DataBind();
it is giving error like u can't user two dataSources..
I'm exploring ASP.net. I have created a FormView based on Linq Data Sources. There are several fields in my datasource that are either future or archaic.
1) Do all fields in the DataSource need to have a control in the FormView? 2) Does ASP.net need to insert/update all fields in the DataSource?
I have a dropdownlist that pulls from a datasource. When a name is selected all information drops down to a formview. Once there 3 fields get populated from the dropdownlist and then there is 2 other fields that need user input. Once they hit submit, it should write to a different table in the same DB. I cannot get the fields to populate and write to the DB. Here is my code:
I have a GridView and a FormView on the same page. They both have separate DataSources. This is a simple Master Details configuration, when a someone clicks on the Select link in the GridView, the FormView brings up the Details data. But for some reason the FormView's DataSource is trying to retrieve data when I load the page. This is causing an error because no ID is passed from the GridView.
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 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?
Using formview or details view, I want to allow users to both input data into columns (I know how to do that) and add additional columns to the existing table if necessary.
I want to allow people visiting my website to have the ability to change the displayed data in a DataGridView from a Dropdown box and have it auto postback. So options are in the dropdown box 10, 20, 30
I have a two gridviews that I populate it through some tables from a database.
In the same page I have a ASP:Button with onclick event.
When click is perform I wish to write a code that compares the old values of both gridviews (that retrieved from database), with the new values, and if changes were made then create the changes in the database.
I think that the best way is to loop every gridview sepertly, and compares it with the values in the database
How do I do that? Do you have a sample code that loops on gridview and compares with the old values to detect changes?
I have a stored procedure that updates orderhistory. When I test it from Enterprise Manager, that sucker works fine. But when accessing it from asp.net I get the following error... Procedure or function sp_UpdateOrderHistory has too many arguments specified. From my aspx page I created a gridview, enabled editing, deleted the columns I didn't want displayed. I specified the datasource, pointing at the sp for updating. So far so good..
I can click on Edit, and the edit fields are shown, but when I click UPDATE, the above error is generated. I've checked the sp parameters and they match (as far as I can tell) the update paramters in the page. Not sure why this is failing to update?
I have GridView that is bound to an ObjectDataSource and within that GridView I have CheckBox, DropDownList, TextBox and Label controls. All the controls except the CheckBoxs are working like a champ or normal display and Delete (Insert is handled outside the GridView, it works also). The CheckBox values are passed into the update method for the ObjectDataSource as type byte. Without doing any custom coding the CheckBoxs were always unchecked (regardless of the data being 1 or 0) and when I edit a row in the GridView and saved the values the CheckBox controls would always be 0 even if the check boxes where checked. After searching web I found a suggestion to change the binding on the CheckBox controls from, Bind("Monday") to this, CheckUncheck(DataBinder.Eval(Container.DataItem, "Monday")) with CheckUncheck being a method to make 0 or null = false and 1 = true. This seemed to the do the trick and it set the CheckBoxs correctly in the DataGrid, I was giving myself high-fives, until I tried to update a row.
When doing the update, as with my first attempt, it would always set the CheckBox values to 0, thus ignoring the checked property of the CheckBox. So I search the web again and found a suggestion to handle the update manually, due to the binding being one way. So I created a myUnhappyGrid_RowUpdating event handler and changed all the columns in the GridView to template so I could do the old school .FindControl on them and grab the values. Once I was able to grab the values from the row to be updated I added them to the ObjectDataSource .UpdateParameters and called ObjectDataSource.Update() and it worked, kind of. Now came the next trial, it did the update into the database just fine and I was happy, until. I finished stepping though the code. As I stepped through the code the update on the ObjectDataSource got called two more times, thus undoing what I had just spent hours fixing. First, is the road traveled the right way to do it? Second, if I am on the correct road how can I suppress the additional two updates that follow my manual .update call on the ObjectDataSource?
I have a gridview that is inside a tabcontainer. In this gridview, I have a commandfield that shows an edit button. It also uses an ItemTemplate to display read-only data and an EditItemTemplate containing textboxes for updating rows. Clicking the "Edit"button works as it triggers the RowEditing event. In this event, I assign the new edit index and rebind the datatable to the gridview. It also displays all controls declared in the EditItemTemplate when the "Edit" button is clicked. But for some reason, when I hit the "Update" button, the RowUpdating event doesn't fire unless I set CausesValidation="false". But with this setting, I am still unable to update a row in the gridview. It seems that gridview's editindex is reset to -1 as I can't seem to find any controls in my EditItemTemplate.
When run in debug mode, I noticed that the gridview's editindex resets to -1 even before the TabContainer's ActiveTabIndexChanged is fired and that the gridview's state changes to read-only as I can only find controls in the ItemTemplate in the RowUpdating event. There's nowhere else in my code that I rebind the gridview's datasource except in the RowEditing event. I have also watched the RowCreated and RowDataBound events but they both don't do any rebinding of the data to the gridview.
I am in a point where I want to place the textboxes in the ItemTemplate in order to perform row updates as I can't find anything on the web that can lead me to solve this problem
First of all i have placed my repeater inside a asp:updatepanel. I have tested to set a value where i know the specific row id. This works but i dont know how to do this when i dont know the specific id and i want to be able to update multiple rows at the same time. I have bound my linqdatatable to a repeater. This table contains multiple rows, so the repeater returns a dynamic count of row. I want to be able to edit one of this columns through a textbox that is generated in my repeater. How can i do this ? I guess it has something to do with ItemDataBound ? But i dont get this to work.
I have a detailsview on my page binding a table with information about the employees. They can update their information. Some info should be visible but not updateable. I could change the update command not updating but I like the control where I can set the column to read only. In that way the employee will find the data visible and they will see that the field/column cannot be changed. But having the column read only will return a null-value into that column when editing and updating anything. Why is that? Shouldn't it just update it's read only value?
I have a page with a FormView on it. The page is strictly for adding records to a Table. I have the FormView bound to an EntityDataSource and everything works greate except for one thing.
I want to initialize a date field in the FormView to today's date. So, in my page_load event I have:
if (!Page.IsPostBack) { //Initialize SetupDate to today. TextBox setupdate = (TextBox)fvJob.FindControl("txtSetupDate"); setupdate.Text = DateTime.Now.ToShortDateString(); }
The first time this page loads, the txtSetupDate field is initialized.
Although, and subsequent loads of the page doesn't initialize the Text Box. I step through the code in the debugger and I can see that the code is executig, but something (the FormView bind?) is "clearing" the Text Box.
So I followed Scot Mitchell's tutorial from asp.net/learn on adding a checkbox column to be able to select multiple entries and delete them with the click of a button. When I make my selection and click the button it works on the database end, as the desired entries are deleted. However, the entries remain on the page after it reloads. if I refresh the page it's updated properly but I'd like it to automatically update after the button is clicked.
Also, I tried his method for adding check/uncheck all buttons to the top of the gridview and they don't seem to be working either.
Updates to the edited item are not passing the new / updated values but rather the original values. And I can't for the life of me figure out why when I change the original value in an edit textbox and post the update the new value is not being passed. I get the original value. Perhaps fresh eyes can spot the problem. This should be super basic but apparently I'm missing something.
Here's the code for the Item and Edit templates. The code behind is below this.
How to edit gridview row when not using sqldatasource and autogeneratecolumn property is set to true.I have a dropdownlist where table is selected on which gridview is populated (through sp from oracle) which is working but edit command is not working.Do i have to generate template myself or what ever solution?
This is my code and i am only able to edit the one data under the category school.But what i nd is to edit the other categories like the name,email...etc..how do i modify my code in the update command.Another thing is to delete the data how do i do that?
I'm new to ASP.net 3.5 and trying to create a test site so I can figure out how to use it in the real world. I have created a FormView (Formview1) based on a Client table using Linq Data Sources. The page includes a DropDownList to lookup Clients. I have added a list option (<asp:ListOption value="" Text="(Select Client)" and set AppendDataBoundItems=true so my added option is displayed. I decided to try to use Formview with only the Edit and Insert Modes, and I have set the Default Mode = Insert. When you open the page, a blank Client record is displayed.
The Client record contains serveral lookup fields and they have drop down lists for each. When I select a client from the Client DropDownList, is get the following message 'ddlClientType' has a SelectedValue which is invalid because it does not exist in the list of items I had this problem before and decided the best way to handle this (in the interim) was to turn off foreign key constraints for each of the lookup fields (e.g. ClientType) in SQL Server. That worked for 2-3 days. Now the problem has started again.
When I develop in other applications, I would simply create a lookup data source based on a Union Query with the actual data and a blank record. How can you do this using Linq DataSources. Can you get access and modify the queries?