I have Create and Edit forms for Categories. Columns are Id, CategoryName, Order, CreatedOn. On Create form I save the values for all but on Edit form I need to change only CategoryName. Below is the code. Problem is that on Edit form only CategoryName field exists which on submit button is passed to Edit Action. Whenever I update Order and CreatedOn becomes null because the values are not returned from form. Someone tell me any good approach how to Updated selected values in EF. Below is code.
Making multiple Get calls. Form is saving fine but I don't like the approach. Need clean approach. Anyone got better solution to thiis?
This function is a virtual copy and paste from another function working just fine. It updates two columns in the database. One is a date and the other is a byte.
[Code]....
And the one not working. Below only updates the date column. The TimesRMEmailed column is not being updates. This is a byte.
I have a DataGrid with a TemplateColumn containing an asp:DropDownList and a BoundColumn. I'd like to have a VB.NET handler for when the selected item in the DropDownList changes. I'd like this handler to also update the value in the BoundColumn with the value of the newly selected item in the DropDownList.
Can someone point me to some resources I can examine to learn how to do this?
If the handler for the selection changing can give me the value of the NEWLY selected item, it should just be a matter of accessing the cell for my BoundColumn in the same row and writing to it. I do not know the syntax to achieve this.
I'm trying to implement row editing on a gridview using a SQLDataSource, the updating works fine for all values in the row except for on value, Clock Reset Time. I have tried all sorts, tried converting to template fields, tried reordering columns, changing update query etc. I just cannot get the gridview to update the Clock Reset Time. here is the code.
I am using a gridview to show data in a formview on a ModalPopup. in the modal I have a Close button and Delete button. The delete button has a click even that is supposed to updated a column in the table, but it doesn't and I can't figure out why.
[Code]....
The varTransactionID variable gets value upon click of the gridview linkbutton so the value should be there. As you can see I have tried 2 ways of adding the Parameter Value of @TransactionID, they both do not work. The column never gets updated. [explanation] The reason why I do not just delete the record is that as Web Admin I want to still be able to view what changes are made to accounts so I can adjust the site to make things more user friendly, the user may not see the "deleted" record, but I still can.
I have a gridview in which update and delete is enabled.
I have the following fields in database table, which is binded to the grid view through sql datasource.
ID,Firstname,Lastname,Add,City,modifieddate. Here ID is primary key.
1. When edit and delete is enabled in the grid. The ID column is showing in the grid,which i don't want to show. But without that ID column the grid is not able to update and delete. Plz tel me how to update and delete without ID column in grid.
2. When ever any update is happen in the grid, the modifieddate should get updated. Here the date is not datetime.now , i need to use my own system date and time. Coz my server and system time has some difference.
I have use the following javascript to get system date and time, which is working fine. This date should be get and update in the modified column.
function displayTime() { var m_names = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); var localTime = new Date(); var year = localTime.getYear(); var month = localTime.getMonth() + 1; var date = localTime.getDate(); var hours = localTime.getHours(); var minutes = localTime.getMinutes(); var seconds = localTime.getSeconds(); var div = document.getElementById("TextBox1"); div.innerText = date + "-" + m_names[month] + "-" + year; }
I have been struggling with this problem for a long time. Does anyone have any clue about this problem? I created a gridview and set the allowsorting to true. This gridview has four columns: Name, Position, StartDate, and EndDate. I want the gridview to be sorted on the EndDate.
Inside of the save event, I called the BindGrid() function to rebind the datasource to the gridview. The changes will shown immediately, but the problem is that the records are not sorting on EndDate. I have to refresh the page manually to get the view sorted.
In trying to improve 'user experience' with a GridView, I have an administrative application where a GridView is displaying records from a SQL table. One of the columns is a bit column, and is displayed as a checkbox in the GridView. I want the user to be able to simply check or uncheck the box while viewing the GridView, and the value in that column for that record is immediately updated. So I set AutoPostBack="true" on the CheckBox in the GridView's Template Field.
But tests are indicating that the column value is not actually getting changed, even though the page appears to post back and displays the newly checked (or unchecked) checkbox correctly. But if I check the SQL table directly the column's value has not changed.
I am working on my first project with the Entity Framework and am having some difficulty displaying advanced information with the EntityDataSource and a ListView.
For example, given the two entities:
Item Name Price Order Number Items <---- Navigation Property to Items contained in the Order
I want to display a list of all orders with a column with the total number of items in the order and a column with the sum of the prices of all items in the order.
I am using an EntityDataSource configured as follows:
In the ItemTemplate of the ListView, I can write the order number as follows:
<%# Eval("Number") %>
I had trouble figuring out how to display a count of items in the order. I tried using Items.Count() function in select statement in the EntityDataSource but that didn't work. Eventually I figured out I could do the following in my ItemTemplate:
<%# Eval("Items").Count() %>
Now I am stuck trying to get the sum of the items. I am stuck here. I have tried using
<%# Eval("Items").Sum(Function(i) i.Price)%>
but I get the following error:
Public member 'Sum' on type 'EntityCollection(Of Item)' not found.
This confuses me because I know that Sum is a method of EntityCollection(Of ).
My two questions are as follows:
Am I getting the item count correctly?
How should I go about getting the sum of the prices of the items?
Im tring to implement some generic logging in the entityframework 4.0 using the SavingChanges event in the entity context.
I want to record details about any create/ update and deleted records including the id of the record being changed (which is always an int identity field). During the update and delete processes I can get the id for the record using
Dim AddedItems = Statemanager.GetObjectStateEntries(EntityState.Added) For Each entry As ObjectStateEntry In DirectCast(sender, ObjectContext).ObjectStateManager.GetObjectStateEntries(EntityState.Added) NewLogItem.RecordId = CInt(entry.EntityKey.EntityKeyValues(0).Value.ToString()) Next
But I obviously cannot get the id of the about to be inserted record during an insert becuase it hasn't been written to the database yet, is there a simple way around this?
SaveChanges can generate an UpdateException when an object added to the ObjectContext cannot be successfully created in the data source. This can happen if a row with the foreign key specified by the relationship already exists. When this occurs, you cannot use Refresh to update the added object in the object context. Instead, reload the object with a value of OverwriteChanges for MergeOption.
In a table, a foreign key column can have a single value multiple times. e.g. DepartmentID foreign key in Users Table: More than one User can have same DepartmentID foreign key.
I would like to call a method in the ObjectContext which returns EntityCollection and have it sorted the way I want by default. For example, Imagine I have the following Category table/class:
CategoryID (PK) Name ParentID (FK_Category) foreign key pointing to CategoryID itself.
(This table is the base for a tree structure of Categories and SubCategories)
Now, in my data model, the public partial class Category : EntityObject has a property which returns all Categories that have ParentID==CategoryID, in other words, EntityCollection<Category> SubCategories.
Alright, now i want to show in my page all the Categories and SubCategories by using Repeater:
IList<Category> categoryList = new CategoryProvider().GetAll(); rptSubCategories.DataSource = categoryList; rptSubCategories.DataBind();
Simply and everything works! Except that, rptSubCategoryCategories doesn't gives sorted Categories by Name. The only way I found to do it, is to change its DataSource from:
but I wish I could do something else to have a default sorting so i don't need to call the OrderBy. Something like Attributes like we do in DynamicData, following the tutorial at [URL] Setting the default sort column of an Entity with DisplayColumnAttribute. Unless somebody tells me it's impossible what I want to do.
I'm working on a project which is using EntityFramework 4 and I am using the entity objects as my business objects. I ran into an issue recently where I had a context declared in a using statement in a user control. The method the statement was in returned an entity object which got used in another control. So I had to detach the entity then attach it to the new context in the other control. I would like to avoid this if possible. What I'm thinking is I would like to declare a context in the master page and then pass that to any page/usercontrol that needs it so they are all using the same context and I don't have to write all these using statements.
My questions are these:
1) is it a bad practice to declare a context on Pre_Init/Page_Load and then dispose of it on Page_Unload?
2) if it is what is the best practice for handling them?
3) if I do go the route of declaring the context in the master page what is the best way to pass that to the pages/usercontrols?
I have not found any way to intercept or override calls to createquery in my datacontext. What I am trying to do is to allow for global filters, i.e. if a user has access to only a subset of entities I would like to filter away these on the lowest level possible. Is there a way to do this? I have tried several apporaches but no one worked out. Perhaps I lack patience or is just plain stupid, but I think it should be possible! So if anyone has any pointers to where
I am having some issues with my base class inheritance. I am currently employing Table per Type Inheritance for the following tables:
Database:
Members Table
- Member ID (PK)
- First Name
- Last Name
- Email
- ...
Students Table
- Member ID (FK)
- Credits
- Notes
- ...
Instructors Table
- Member ID (FK)
- Biography
- Office Hours
- ...
My Entity Data Model defines "Member" as the base class for both Students and Instructors, since members can be both students as well as instructors simultaneously. The problem, however, occurs when I attempt to get a list of Members objects. Because the database contains members who are indeed students AND instructors, the following exception is thrown:
All objects in the EntitySet 'CountyCollegeEntities.BaseMembers' must have unique primary keys. However, an instance of type 'CountyCollege.NET.Administrator' and an instance of type 'CountyCollege.NET.Student' both have the same primary key value, 'EntitySet=BaseMembers;ID=10016'.
I am beginning to think that I made a mistake by building these classes to inherit from Member although it has been ideal up until this point. But before I start ripping up all my existing code to remove this inheritance, I thought I would see if anyone has any tricks that would make this work. Any advice as to either how I can get around this error or a more appropriate way to structure my classes would be very much appreciated.
Scenario: I am creating a custom gridview control which has a custom CheckBoxTemplateField column (deriving from TemplateField class). This template field column has custom Checkboxheadertemplate (implementing ITemplate) and CheckboxItemTemplate (also implementing ITemplate). In InstantiateIn method of both templates (header as well as Item template), I am adding a checkbox control which has Autopostback = true.
My requirement is: I want to mark all the values in the binding column of datasource if checkbox in headertemplate is checked. I dont want to mark only rows visible on grid. I WANT TO MARK ALL ROWS IN DATASOURCE. I want to do this in _CheckedChanged event of checkbox in header template.
Problem I am facing: When I check/uncheck the checkbox in header, it postbacks. so in OnCheckedChanged event, gridview's datasource is null. Secondly, in any event of gridview, I could access only those rows of datasource for which corresponding rows are visible in gridview through Gridviewrow.DataItem property. But I want to set it for all rows in datasource.
So I sometimes use app_offline.htm to take an app offline while I upload a new version.However, while I am in the process of uploading larger dll's, I get the yellow error-screen saying the dll could not be loaded.This seems to be out of sync with my expectations of what app_offline.htm does (stops the app entirely), and also provides the users with errors in stead of the nice app_offline.htm I put up.Am I doing something wrong or is this behavior by design?
I am looking to sort a column on my gridview by simply clicking on the column rather than clicking on the column header. In the design I have been given, the column header will not be shown, and I need to be able to give the user to sort this column, by simply just clicking any where on the column.
I want to copy data from a table[tblExcel][No.of columns:2] to another table[ev_event] which has 5 columns, 2 columns from the another table, 3 columns from user defined value