Forms Data Controls :: Binding Repeater To List (of Abstract Class)?
Feb 18, 2010
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?
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'm following a tutorial from [URL] to create a better menu with submenus. Does anyone know how to convert this inline code to code behind? I'm not a big fan of inline code but I have no idea on how to convert it to code behind.
I have a couple of Checkbox controls in the Item Template of a Repeater and am trying to set them (checked or not) based on an underlying data value. With Labels the <%# Bind... > syntax can be used but there does not seem to be an equivelent for a Checkbox.
So I have moved into the code, specifically the ItemDataBound handler of the Repeater control but cannot seem to instantiate the Checkbox controls.
In the handler repProjectList_ItemDataBound(object sender, RepeaterItemEventArgs e) I can instantiate the Repeater by casting sender or the RepeaterItem by using e.item and both have FindControl() methods but neither seem to find my Checkbox.
Further, once I am able to 'find' the Checkbox, I'm not sure how to reference the various values in the underlying data source.
i have a database of values that I am rendering in a table via the repeater control. (Previously I was using a gridview but I know require a repeater) I have a checkbox being 'repeated' for each record and I can get the id of each row to do some logic, but what I cannot get is whether it is checked or not as the value is null. As the database has no null values, I can only asume it is not binding for the checkboxes as current true values do not have a check in the box. The onCheckedChanged event carries out the logic required to change whether record is disabled via the database. With a gridview
Checked='<%# Bind ("Disabled")%>' was enough <td class="GridCentre"[code]....
is this done with the itemdatabound event? and how is it done?
I'm trying to bind a value to a dropdownlist. Here how the code looks like in the aspx page...Bind the textboxes below is not a problem...but its not working with the dropdownlist..
So basically, what i want is the value selected from the dropdownlist to be remembered after i press next button and back button..
I have a repeater on which I need to bind the name returned by the querystring, the binding should be don on the following request : Request.QueryString("file_type")
[Code]....
basically the file type represent a foldername on the server, and this changes depending on the request
What's the difference between binding for example a column called ("Name") in both cases ? and is there's any performance difference ?1- Assigning the data in the mark-up
2- defining a control object for every control inside the repeater ItemTemplate and find it and then assign the data in the column "Name" to ite.Item.FindControl("Name_Lbl")
I've been using a repeater to build a website's site map page by binding to the web.sitemap file. For example, to display 2 levels of links:
[Code]....
So far, everything works well. However, in some cases, I do not want to display certain pages in the site map. I've added a custom attribute to each node (nodisplay= 'true').How can i check for this attibute, and avoid it from being displayed by in the repeater.
From the following URL i got some doubts about the Recommendations for using Abstract class vs interfaces
[URL]
1. If you anticipate creating multiple versions of your component, create an abstract class. Abstract classes provide a simple and easy way to version your components. By updating the base class, all inheriting classes are automatically updated with the change. Interfaces, on the other hand, cannot be changed once created. If a new version of an interface is required, you must create a whole new interface. { Is there any example for this t ounderstand throughly ?} If you are designing small, concise bits of functionality, use interfaces. If you are designing large functional units, use an abstract class. If you want to provide common, implemented functionality among all implementations of your component, use an abstract class. Abstract classes allow you to partially implement your class, whereas interfaces contain no implementation for any members. { Is there any example for this t ounderstand throughly?
I just want to know that how can I utilize the concept of Abstract class, virtual class etc. in my shopping cart website. I have read the tutorial out there on internet and I saw some examples too, but those examples are so general that they dosen't fit into real world scenerio like I am searching for a shopping website. Same questions again and again comes to my mind that why to made a class only to give the declaration of methods and property.
Now i want to do search, sorting & Paging in the GridView with out Postback of the Page & with out hitting the DataBase when do Paging or searching in GridView.
I have a form in which I have a dropdown list and a list box.
This dropdownlist is populated by a column in thetable . This drop down list may have values ranging from 1 to 5.
This values in the dropdownlist are to be made the caption headings of the list view control.
For insance if there are three values in the dropdown there should be three columns in the list box with the heading as the values of the dropdownlist.for 5 it should be 5.
Also there are two additional columns which would be constant.
Why do we use the reference of abstract class (or base class) to create object of it's sub-class. eg: TextWriter is the abstract class for StreamWriter & StreamWriter.
I know what Singleton Pattern means and Abstract class means.What I wanted to know was how would this apply to real world.Could anyone give me any good example or simple explanation.Say I have a simple website, why would I use any of the above if any.Why would it simplify my architechture.