Eval And ItemDataBound Or RowDataBound Event To Display Data Which One Is Better?
Nov 4, 2010
Which method is better (performance-wise) if I have DataBoundControl such as GridView, Repeater, and/or DataList and I use the following method to display data:
Eval("ColumnName")
or handling the ItemDataBound or RowDataBound event like:
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// my code to display data here
}
I prefer the second one for code readability reason, but for performance reason, are they the same (or are they even the same thing)?
using a listView control... I'm trying to use the ItemDataBound event to map a field's native value to a more 'friendly' name... so far I have the code to access the underlying data so the decision can be made for the actual mapping, but I don't know how to actually change the data displayed?
why the gridview RowDataBound event fires during a select command. I only expect it to run when the gridview is being populated with data. Is there some way to stop it from running when the select command is triggered?
I am using ObjectList control in mobile application, How to Add dynamic data in itemdatabound event & HOw to find the Itemtype in ObjectList ItemDatabound(HOw do i get the reference of label inside the itemtemplate) .
I am using ObjectList control in mobile application,How to Add dynamic data in itemdatabound event & HOw to find the Itemtype in ObjectList ItemDatabound(HOw do i get the reference of label inside the itemtemplate)
how many times itemDataBound event calls exactly, if my datatable have 2 records it is calling 4 times , first time in item index 0 , second time it is 1 and third time again it contains index 0 and forth time it is 1. so, could anyone please help me how the itemdatabound event actually works,
I stumbled into a problem which is that FindControl will only return a control in the ListView after the listview has been databound. Here is the code which is not working, and I'm getting the "Object reference not set to an instance of an object error" when I try to add the attribute to the control:
I am populating an asp.net listview control from my page_load event. Unfortunately, due to my projects requirements, I have to use a third party control within my listviews ItemTemplate that needs to have database values written to its attributes before my listview control is bound, if this is not the case my control flags a null reference exception error. From some investigation into the listview control, it seems that the only way to do this is through my listviews ItemDataBound event as my thrid party control will hold different value depending on each row.was wondering if it's at all possible to force my listviews ItemDataBound event to fire before I call mylistview.databind();?
I wrote the following code in ItemDataBound Event of the DataList
[Code]....
I have got two questions:
1) If I have already given the data type to d as DropDownList, why do we need to typecast it again to e.Item.FindControl("dd1"). Is it because it will typecast this to the data type of the selected item in Drop Down list?
2) Why do we need to write this in Item Data Bound Event of the DataList?
I had a scenario where I needed to massage some data before it got bound to a repeater control, so I first thought to use ItemDataBound event to handle it. I assume this would also apply to gridviews, listviews, etc. The pattern I've seen used to do this is something like:
if (it's the right row type, item, alternating item, etc..) { someType row = (someType) e.Item.DataItem someControlType control = FindControl("controlID") control.PropertyYouWant = row.FieldYouWant }
In thinking about my task, I'm thinking, ok, intercept the data before it's bound, change it, then let it proceed and do it's normal thing... so the step of finding a particular control and assigning the data to a property of it (like 'text' or 'innerhtml') seemed like an extra step to me? do you always need to explicitly assign the data you want to a control to display? For example, say you have a div tag and the field data needs to be it's content. This already happens when I'm not handling ItemDataBound myself to change the data, is there a way to handle the ItemDataBound event to change the data and have it just display where it would if you were not handling the event? The aspx markup already has an <%# Eval("fieldName") %> within the div tag for placement. I know there is an alternative way to handle the call to massage the data right inside the aspx with a helper function like: <%# HelperFunction(Eval("fieldName")) %>, which is what I have used, but I would like to understand the option of using the ItemDataBound event.
I need to utilize about 30 different database values from within a repeater ItemDataBound Event and I am wondering if there is a better way to do it. I am currently exposing them by doing something like this 30 times:
[Code]....
Rather than making 30 declarations, is there a way I can make them all available as short variable names? The variable name could be the same as the field name.
I am using a DataList to display records from SQL backend in ASP.net 2.0 Framework 3.5. In the ItemDataBound I am setting up a Hyperlink's URL and enabling/disabling it based on data.
The HTML is as follows:-
[Code]....
and in the vb code:-
[Code]....
This is all working correctly in IE, but in Opera, FireFox and Safari while the Hyperlink works, the control is not disabled if Stk.Docs = 0.
I'm bounding data to repeater control by using SqlDataSource Control
bounded data is something like this:
attributeid attributename 1 color 2 size
How can I get access to attributeid values in Repeater control's ItemDataBound event handler,
I tried to use DataBinder.GetPropertyValue(container,"attribuetid"), but I can't set container, am I doing right, or maybe I should use another approach.
rowdatabound event is not firing during postback ,What to do?First time pageload I am getting result as expected. When I click checkbox ,which is in grid ,my values which are in other columns get disappeared, that means during postback. How to maintain values in the grid even after postback.note : I did some small manupulation of data during rowdatabound event for the columns which are in the grid.
When a Gridview row is in edit, I need to default an empty textbox to today's date. I am close, but the defaulted date is is not saved to the database. I can key in the date and the date is displayed and saved to the database. Even more interesting:
1. The date is defaulted to - 5/17/2010 2. If I erase the month and key the "5" back in the data is not saved. 3. If I erase the month and then change the month to "6", the data is saved to the database. If any value is changed in the date the save works.
I have a databound gridview in which i have added a template field to display a calcultion. I have created a rowdatabound event in which I want to perform a calculation, but don't know how. The calculation is as follows:
First, it should take the sum of all the payments made by a given customer. It then should divide this value by a daily membership rate, returning a days paid variable. Finally, it should add that variable to the customer since field and calculate the date that the customer is paid through.
I need to change the text style of a row based on whether or not it has a particular flag set in my database. I can change some attributes, but not all.
[Code]....
More specifically, e.Row.ForeColor changes the text color of the Edit link, but not any of the text retrieved from my database.