Forms Data Controls :: Adding A Calculated Field To A Databound Control?
Oct 19, 2010
I'm using a gridview to extract a set of records. I need to add another field to the gridview, which can calculate the difference between a date associated with each record and the current date.
I need a form that displays three columns drawn directly from a database (no problems here) as well as two fields that require some complex calculations. Not only am I lost as to how to incorporate the calculations into the control, I don't know exactly how to write the calculations. I am working in Visual Web Developer 2008 with Vb.NET.
The first of the two fields should take the sum of all payments made by a given customer and divide it by a DailyMembershipRate, returning a DaysPaid variable. It should take this variable and a CustomerSince field for that particular customer and calculate a PaidThrough field.
The second of the two columns similarly requires the DaysPaid variable described above. It should subtract the CustomerSince field from the current date and return the value in days, giving a MembershipDays variable. Finally, it should subtract MembershipDays from the DaysPaid variable, again returning a value in days, and then multiply this by the DailyRate value for a Credit/Deficit field.
I realize this is a lot, but I haven't been able to find any documentation either online or in VWD or ASP.NET texts on this topic. I could really use some fellow user input.
although i had to take the table that has my calculated column and make a view (so i could filter) and then bind the gridview to the view.
My question is as this.
1.) in order to get my calculated field i had to load my data into a table (as suggested)
2.)Add a column to the table and perform calculations
3.)make a dataview from the tables because i could not get the Gridview.datasource= ds.tables("loads").select("Deadhead <= " & sngRadius
4.)the largest of the 3 tables my query is based on contains about 7000 records. The way i have the logic & programming now everytime a new "truck location" is put in the textbox1 and "find loads/button1" is clicked. It calculates the deadhead miles of all 7000 records before filtering. I am filtering based on the deadhead miles.
Does anyone have any recomendation about how to speed this up a bit.
Also in order to get paging to work i had to rebind/filter the data again ... means looping through all 7000 records each time paging is called. This seems terribly ineffecient as i am already forced to use access instead of SQL.
Would i see a performance increase if i installed SQL or mySQL and create linked tables to the ones i use in access. or would access still be the bottleneck?
I don't know if the performance increase would be negligible as i still ultimately be getting the data from Access.
I have posted the entire code for the page below. When i originally started i didn't think there would be to much code so i left it all on one page instead of using code-behind. Would i gain anything by swapping to code-behind now?
I have started creating a DAL and have successfully bound my adaptor and the query within the adaptor to a gridview.
In lots of the intranet type apps I code in regular ASP for myself I often have a few columns with little icons in that do various things for that rows identity, such as drill down to more details, overlay a graph, text the person via an ajax call, send em an email via ajax and so on.
I think Ive got the hang of styling elements of each row depending on the data but Im completely at a loss as how to add a column which would have an icon whos url link properties would be dependant on the data.
EG
ROW1 | Name | Email Address | ICONFOR EMAIL(with a querystring id matching the row id) | ICON FOR MORE DETAILS (with a querystring id matching the row id)
I realise I am probably looking at this the wrong way but its difficult when you are almost on autopilot doing these things in classic ASP.
I have to modify a page so that depending on who views the page i will show client or client Type, its easy enough to change the text but I cant see how to change the datafield
I have an "effectivedate" field that is displayed using a label inside a detailsview control... In the code behind I need to add 12 months to this to check if a policy is up for renewal or not...
To find the control I use this code... Dim EffectiveDate As Label = DetailsView1.FindControl("EffectiveDatelbl").ToString But when I try and convert the label to datetime type using this... Dim ExpireDate As DateTime = EffectiveDate.AddMonths(12)
I get the error - Cannot convert string to date, addmonths is not a member of label etc...
I have a Repeater and an update button inside the repeater
[Code]....
When I run this databound control to wire a javascript function it clears the viewstate and I don't get itemcommands. When I remove the button attributes command it works.
[Code]....
Obviously I can find a more creative way to add the javascript function, but this was the clearest way. Can anyone determine why adding an OnClientClick even in the ItemCreated would cause viewstate to fail?
The original Item Template was Enabled ="false" I changed this so that you did not have to set the row to a state of edit in order to just select a row. I enabled it so that you could "select" any row with out putting it in a state of edit. the only value changing is if its selected or not. What i am trying to do is use the Data Source Update method to update the bit in the database based on the check box. Currently Update() returns 0. I believe this is because the row/feild is not marked as changed so the Data Source does not see it as something that needs to be updated.
What I am hoping for out of this is post is a way that the rows whom check value has changed to be marked as changed/edited so that the data source will update the database with the values of the check boxes. If all rows are updated this is acceptable as well. I know this is a super simple solution but i have been out of the .NET for a little bit.
At the top of my form I have some code that calculates a field
[Code]....
In my form I have this code. What changes below do I need to make to have the value of Date in XXXX?
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:sqlConnection %>" SelectCommand="SELECT NumPeople, Date1,Time1,Venue FROM People_Count WHERE ((Date1=@ArvDate and Time1 >= '06:00:00.000') or (Date1=XXXX and Time1 <= '06:00:00.000')) and Venue='F & B' ORDER BY Date1 ASC, Time1 ASC"> <SelectParameters> <asp:QueryStringParameter Name="ArvDate" QueryStringField="ArvDate" /> </SelectParameters> </asp:SqlDataSource>
I have a datagridview that has a column which displays a ref value from another unbound table, but during an edit of a gridview entry i want a dropdownlistbox to list all the available ref values from the other unbound table source, then to insert the selected value into the bound table
I have a simple query on a table to calculate the sum of a field (This field is a calculated field from within SQL 2005)SELECT SUM(RunTime) AS TotaL FROM TimeSheets.It errors out with: Error Message: Operand data char type char is invalid for sum operator.If I use the MAX or MIN function, no isssues. The data in this field is numeric.
i am developing a tree view component which should be data driven and amendable instead default layout provided by .net can we change that proper hierarchial structure like organization chart is there any chance to provide with an hyperlink to redirect other page or content view control below to display the content related to it.
The amount of li elements that will be rendered into each ul is determined at runtime. Each link in a li belongs to into a specific ul (the one containing a specific caption. Imagine this as a kind of a treeview with nodes and subnodes) During the bind Event I need access to an ASP:HyperLink that will be rendered into the a-element. Which databound ASP.Net control should I pick for this? Looks like a repeater in a repeater, which should make the databinding process ugly. I'm thinking about creating this HTML-Output with StringWriters myself.
I have an AJAX tab container with 2 panels within aspx page. Each panel hosts an ascx control. Each control contains GridView and FormView that are databound - 1st control to the parent table and 2nd - to the child. The 2nd control/tab contains standard DropDownList that is bound to the parent values so the user can select a parent to create "child" for. everything works fine except when the parent (on the 1st tab control) is created/updates the ObjectDataSource on the 2nd tab does not getting refreshed. Only after refreshing the hole page I can see the new "parent" value in the ddl on "child" page. I use strongly typed dataset. How I can programmatically refresh the DataSource? Simple rebinding didn't make a dent. Do I need to refresh page, the tab container, tab panel?
I thought this would be easy but cannot now find out of to do it. All I want to do is execute an sql query on a table and in addition to the table's columns I want to also select/output a field that is calculated within the query. The table has a column "Owner" and I want to compare this to the UserId to produce a bool column "mine". Effectively doing:Select *, (Owner=@UserId) as mine where.....however, this doesn't work so how can I calculate a column in the select statement?
I have DataList control and I want to assign to it's edititemtemplate some User Control. The problem is I can't find when I should databound UserControl to data, as my UserControl doesn't have static look (it renders different depending on some property values and datasource).
I was try to simply set my user control in edititemtemplate
I'm working on a website to showcase some of my bird photography, using ASP.NET 2.0 and C# with a SQLServerExpress backend.What I have right now is a ListBox bound to my database that displays a list of common names of birds and when the user clicks on an item in the listbox the main image on the page is changed to the image for that bird. For style reasons I want the listbox to always be a fixed size and because I specify the size (using CSS) a vertical scrollbar appears. My problem is that I want to provide my own images of arrows that go above and below the box such that when the user hovers over an arrow the box scrolls slowly and when the user clicks an arow the box scrolls quickly. Finally, my main problem is that I want to get rid of the ugly default vertical scrollbar that comes with ListBox.
Can you guys help me figure out how to do this? I don't mind using a different control other than ListBox as long as it is available in ASP.NET 2.0 and as long as it can be bound to my db. I also don't mind using JavaScript (which I'm sure I'll end up doing for the hover effects). Right now I'm fooling around with subclassing the ListBox control but I've never subclassed a control before so I'm somewhat clueless.
In my asp.net web page i have a dropdown box. Say like i have to bind EmployeeName to this dropdown box to show up as items.
I am using a dataTable to bind to this grid by having two columns in DataTable (EmployeeId and EmployeeName). But i am only binding the EmployeeName to the dropdown list box.
In the UI, after the user selects an Employee, I need to pass that employee's id to a function. Is there any way, i can directly pass the underlying data (EmployeeID in the DataTable attached to this dropdown), when the user selects the EmployeeName from the dropdown. Or i will have to make a roundtrip to the database and get the selected Employee's Id and then pass it to the function.
I have a big problem...I have made a page has a Data FormView controland the insert template of this Formview control has DropDownList to allow the user to choose section (SectionsDDList)..and there's also another DropDownList allow the user to choose a teacher (TeachersDDList)...more infothe SectionsDDList get the section list from SqlDataSource control which the "Select Command" of is:"SELECT section_id,section_id FROM sections"the TeachersDDList get the teachers list from another SqlDataSource control which the "Select Command" of is:"SELECT teacher_id,teacher_name FROM teachers WHERE (section_id = @section_id)"finallyI want the TeachersDDList to be filled with teachers according to the selected section from the SectionsDDList...So,I enable the Auto postBack function of the SectionsDDListand add the next code for the SectionsDDList_SelectedIndexChanged event:TeachersDataSource.SelectParameters["section_id"].DefaultValue = ((DropDownList)sender).SelectedValue;be aware that both of the SectionsDDList & TeachersDDList have been Bounding to a column...and the problem I have faced is that:Exception Details: System.InvalidOperationException: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.maybe you want to know the Stack Trace:[InvalidOperationException: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.]
System.Web.UI.Page.GetDataItem() +93 System.Web.UI.TemplateControl.Eval(String expression) +33 ASP.cpanel_managecourses_aspx.__DataBinding__control82(Object sender, EventArgs e) in
I'm trying to add an DropDownList to a DetailsView by code, because i'm writing a solution that let's the user select an table and view your records and edit them, some of theese tables, have a foreign key column and the user must have to select some item in the list.
Below is my sample code:
[Code]....
the code above is working correctly, when the user click in the buttons New or Edit , the DetailsView opens correctly, showing the DropDownlist, but when the user click in the buttons update or insert , an error occurs, the viewState cannot be loaded:
Failed to load viewstate. The control tree which viewstate is being loaded must match the control tree used to save viewstate during the previous request. For example, when controls are added dynamically, the controls added during a post must match the type and position of the controls added during the initial request.
am binding a gridview to datatable ...and now i want to add a linkbutton/hyperlink as one of the columns in gridview (similar to checkbox field) ...am adding the Lbtn inside a template field ,but i want that column to come as last column ..but its coming as first column,,,how to acheive that??
moreover ,whn i clk on eack linkbutton a pop-up window has to come with submit and save and close buttons and functionality(is it better to use linkbutton or hyperlink??)...am using vs 2005