Forms Data Controls :: Binding A Repeater To A List Of Objects That Have Child Objects?
Nov 17, 2010
have some Objects, lets say Employee and Role defined as below and I have defined relationships in my database that gives me a list of objects say employees and thanks to my framework each employee object also has a Role object linked via the RoleIDID, UserName, Password, Email, RoleIDRoleID, RoleNameSo in code I can do something like this
I know how to bind a simple objects to a dropdown list. However I am having problems binding my objects which contains sub objects to the control.i.e. with simple object i just do ddl.DataValueField = "myproperty" with my objects they contains sub objects which i want to bind. I have tried ddl.DataValueField = "sub-object.myproperty" which doesnt work.
I have a List of complex objects containing other objects within that I give as the data source to a gridview.(currently I'm using BoundFields for the columns). I need to bind data to the columns from the objects within at run time. How can this be done?
I have been reading alot about this and for some reason I am just not able to grasp the concept. Hopefully someone here can enlighten me.As an example situation I have a collection of strongly typed User objects that represent a database table, and some properties that represent its columns: UserID(PK), Username,FirstName,LastName, etc..Here are some of my requirements/goals:1. Users/Objects needs to be bound to the gridview programatically.2. I do not want to update the database right away, I only want the underlying collection to be updated. I would like to call the database update method myself when I am ready. 3. I do not want the primary key stored on the client side.Summary:So I bind a List<Users> to a gridview with the appropriate bound fields set up, I exlude bound fields such as primary key because I don't want it being changed/hacked by the client side. When I edit and update a row it is saved back to the collection of objects. I will iterate through the objects manually at a later time and commit them to database.
Questions:1. Can I cast a gridview row directly back to my object, in the RowUpdating or RowUpdated events? I am assuming I can't... So....2. How can I reference back my original collection if the gridview does not contain a primary key?3. Where do I store my collection, should it be in Session or should I recreate it on each postback?Sorry if any of this is confusing, let me know if you need clarification.
I have a List of Customers. Now I want to display these customers in a gridview and that is easy. I just set the datasource and use the databind method of the gridview. (I use template fields). But now I want to display FirstName and LastName of the customer as one column.I am aware of how to use the rowdatabound event to manipulate the gridviewrow's controls, but I am not sure how to gain access to the customer object within this method.So here is some code which of course not works.
I'm creating in my code a list of object which must be displayed later in a table.
In Winforms I'd simply bind the DataGridView to the list, and everything is fine.
However, when I try to set the GridView's data source to the list, nothing happens, and I can't find a way to do this with any of the procided data sources(Such as ObjectDataSource, etc.).
How can I bind a datalist control with a list of objects. I have a list of objects that contain a name, desc, and url for menu commands that I am trying to show in a DataList. I am getting the list from a WCF service so I have a list called something like menuList which consists of a List<MenuCommands>. I then do a menuDataList.DataSource = menuList and then a menuList.DataBind but nothing is happening. What am I missing here? I need to use a DataList because I need the commands to be selectable.
I'm working on a project in which we have a database, data layer (entity framework), business layer and web/UI layer.I want to use ASP.NET Dynamic Data for the web layer, but don't want it to access the data layer or database, as I want it to be purely running off business logic, and not directly accessing the data.However, it appears that Dynamic Data only allows Linq-to-SQL or entity framework data sources to be used.Has anyone used it with business-layer objects instead?
How can I bind an object to a dropdown list or gridview ? I am writing an application where my code behind calls an instance and bind the list to either dropdown or gridview.For example:
firstly a static class only ever exists once and is not an instance. Any static members (ie static int NoOfPeople;) is stored in one place and is shared between all sessions (like the old global variables). Now static methods is where i'm not 100% sure. If I have a static method that doesn't use any other static members could this cause inconstant results, example (this is a fairly pointless method but just a quick example of the top of my head)
[Code]....
So in this example if two sessions (or threads) were to call this at the same time - would they both get back the expected results, because the method only uses private data (a, b and totalToReturn).Im sure this sounds a little simple but I will be using static methods to build user objects and various other objects that there will have to be a 100% garentee that the objects will not get mixed up between sessions and the wrong things return to the user.
public abstract class Foo { public Injectable Prop {get;set;} }
i have an application that i want to enhance and simultaneously refactor for simplicity.
I have over 100 classes that call some same stuff (e.g Class Injectable) and i am thinking that this behaviour can be abstracted and set to a base class, and everybody will inherit from this base class so as to remove copy/paste code.
However, i want to avoid copy/paste code in the spring configuration file by defining an Injectable object and then define a child object foreach and every class that inherits from Foo.
I am looking for a way to set the abstract class's properties and then all child elements to automatically get them via configuration. I want to avoid to make the abstract class like this:
I am attempting to bind a Repeater (but it could be a GridView or ListView) to a list of objects. The List's type is an abstract type, which has two different classes derived from it, both with different properties. Because they have different properties, I cannot just have one ItemTemplate. If I bind a control to a property of one type of class and the other type doesn't have it, it throws an error.
Here's where I'm at:
I cannot use <% if (whatever) { %> some stuff <% } else { %> some other stuff <% } %> because I cannot access the databound item to make the choice based on its type. I cannot use the <%# %> syntax, which lets me use the databound information, because you cannot code logic like if...then...else. I cannot (rather not) call a function and return a string with the code because what I want to render is complex and contains further nested databound controls. Has anyone found an ingenious way of doing if it is this type of object, display these controls, else display these other controls?
I have a class that returns a list of "Category" Objects. I'd like to display them along the left-hand side of the page in a listview (if that's the best way to do it, even).
The category objects have normal attributes. Title, User, NumberOfProjects. I'd like to display both the title and the number of projects in this list.
Not worried about editability right now as we might make that separate (i.e. not in-line in a list view edit mode).
I want to be able to update a model and all its collections of child objects in the same view. I have been referred to these examples: http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx and http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ .
For example, I have an object Consultant, that has a collection of "WorkExperiences". All this is in an Entity Framework model. In the view, the simple properties of the Consultant object is no problem, but the collection I cannot get a textbox to show up for. I tried following the examples in the links above, but it doesn't work. The problem is, in those examples the model is just a list (not an object with a child list property). And also, the model again is an EF model. And for some reason that doesn't seem to work as in those examples.
[Code]....
This stuff with the EditorTemplate works fine in Phil Haack's sample project, which I downloaded to try, but here, with the EF model or whatever the problem is, I don't get any textbox at all. The table in the view is just there as a test, because in the table I do get the rows for WorkExperiences, whether I add an empty WorkExperience object or fill out its properties doesn't matter, the rows show up for each object. But again, no textbox...
public class ComponentType { public int ComponentTypeID { get; set; } public string Component_Type { get; set; } public string ComponentDesc { get; set; } } [code]...
I've written some pages with ASP.net Repeater and GridView objects. I've seen that some other programmers write pages with these objects; but they make these objects do very nifty things.
For example, I've seen pages where a user clicks on a button and a jQuery dialog appears. When the user enters data into the dialog and clicks a button, the data is submitted using AJAX and the gridview/repeater is updated without reloading the page or posting back. What are good practices for accomplishing this?
Currently i am having a list like List<Tickets> allTickets.I need to select in the same list some corresponding info about the ticket writer like List<Ticket, aspnet_User>.
I have a list of objects (List1) and I am trying to make a copy of this list (List2) and then change one of the fields in the new list.I used :
List<MyObj> List2 = new List<MyObj>(); List2.AddRange(List1); I alos tried: List<MyObj> List2 = new List<MyObj>(List1); But regardless of the method, when I do: foreach (MyObj o in List2) o.some_field = 2
it not only changes the field in Lis2 but alos in List1. Not sure what I am missing here.
Lets say I am doing a shoping cart. I authenticate the user with a session variable.For example:
If(Request.IsAuthenticated) // Here I want to add to the shoping cart. // Can I do the following Session["Cart"] = "Washing Machine"; Now will this Session["Cart"] value which is washing machine here be unique to diff customers?
I have a list of objects and I would like to create my own custom control that pages through the list using Jquery to make the Ajax calls to my pager methods. I've had some experience with Jquery but need a helping hand and I really don't want to use update panels etc. So the scenario is.....user clicks next, the C# method is called using Ajax, the code gets the relevant data and sends re-populates the UI with the next item in the list.