Web Forms :: Creating Dynamic DataList In Item Template In For Loop
Jun 28, 2012
I want to create dynamic datalist control with item template in a for loop.
Example: In my database, I have 20 Categories and 100 products. Each categories have some products. Now I want to show 20 categories all together in my page and it is not specific that categories will remain same. It can be increase or decrease. I am taking CategoryID with for loop and now I want to bind datalist according to the count of for loop.
I have the following line to display a piece of data and I want to know how I can format the output.
Text='<%# Eval("DOH") %>'
The data list displays the correct data, but I want to format it. The output I want is just a small date format instead of date and time. I have tried every combination of a format function I can think of, but can't seem to make it work. Am I stuck with the raw format provided by the database? I wouldn't think so, but maybe that is the case.
expected output should be 02/15/2011 instead of 02/15/2011 09:45:
I want to show a message when there's no data in my datalist. I found the following, but, I get an error on the bool. If you have another way to do this, great, but, I'd also like to try to do it this way as a learning experience.
I need to change this label to a link that will cause C# code behind to:
tbxCG_ID.Text = Eval("CG_ID") and then call this: protected void ListBox1_SelectedValueChanged(object sender, EventArgs e)
I keep creating a DataList1_SelectedIndex_Changed event created when I double click the label or a link button. What is the code needed? I can see the Eval("CG_ID") value with the label but I don't know how to get it into tbxCG_ID.Text and fire the ListBox1 event.
I need to get access to the page index of the gridview so I can correctly get some data from a coresponding array to set the cell's contol properties correctly. Below is what I've got so far. The ExcelObject is a class that houses both the data read in from an sutomer submitted excel file and a matching 2 dimensional array of characteristics that I use in this case to set the CssClass property. My problem is that when I enable paging for the gridview I don't get the proper datasource row index when the data is read by the databinder.eval; what I'm getting is the current row of the gridview being generated.
I am creating custom Gridview for dynamic Columns (getting columns from Database) and addting textboxes to headers for filtering data. I set the "EnableViewstate=False".
My problem is when I click on Filter Button it is not firing RowCommand event.
Context: In an ASP.NET application, I need the behavior of the ItemTemplate / EditItemTemplate that the DataList control provides. However, I only need one item in my control, which makes the DataList seems like overkill.
Question: Is there a control in ASP.NET made to store a single item that has the template content behavior of the DataList and DataGrid? Should I use a DataList for only one item?
I've an item template inside a grid which has a <asp:LinkButton/> inside it. I assign the text for the link button as
<%# Convert.ToString(Eval("Tags"))%>
Tags can have a string with multiple tags in it delimited by space. For eg. "sports", "sports cricket", "sports cricket sachin" are the examples of some possible tags.
I want to create a button for each tag inside the string. How can i create the controls (server control - linkbutton) dynamically during runtime inside the grid item template?
I have created a data list, which displays the details of 3 students in a horizontal manner. I have retrieved the data's for the data-list dynamically.And it displays as shown below
Guru Ram Ragu
12 13 12
Male Male Male
Chennai Trichy Ooty
...Like this. But I want to make a header for every row as shown below.
I have a linkbutton inside datalist1 item template field, i want when user click on linkbutton then its text would be "enable" and if the linkbutton text is "enable" and panel1 will be visible then again on linkbutton click event linkbutton text would be "disable"and panel1 will be hidden.
As a workaround for the fact that asp:Checkboxes don't have values, I am attempting to dynamically create the ID's of checkboxes in a DataList so that it inserts the primary keys into the control ID. This is surprisingly difficult.
I have placed a PlaceHolder in my DataList ItemTemplate, then in the ItemCreated I create the checkboxes using string.Format("Checkbox{0}", DataBinder(e.Item.DataItem, "ID")). The problem is that this only works in a non-postback condition, as on postback the DataItem is null. And of course ItemDataBound isn't called on PostBack so that won't work either.
I can't seem to find a good way to handle this short of if (IsPostback) dataList.Bind(), which i don't think is a good way to do it.
I have a formview with various templates set up for a database that has 255 columns. I need the insertitemtemplate to pre-fill values based upon a specific selection by the user (just like the edit item template) but when the template is switched to insertitemtemplate every text box is cleared. The idea is that a new entry is usually made by making minor changes to an existing entry. With 255 fields I don't want to require the user to enter every field when only three or four need to change.
I have a gridview which the columns are created programmatically.
When a button is click i will clear all columns and add the columns that I want. Im adding a boundfield which is not a problem. When I add a template field, I must add also the item template which is my problem.
How can I add a item template in the template field I created which is binded in my datasource. Also what event handler should I use to do this.
Here's the part of my code:
[Code]....
Someone know how can I bind a label item template from the datasource. The label item template should be firstname + middlename + lastname.
If im not doing it programatically, it will be just concatenating eval(). But how can create item template and bind it programmatically?
I have following datalist ,to display employee id, name, email ..... datalist have column with link button text " Get Details" and fontcolor "black" , onmouseover of the particular row i want change the color of linkbutton or the image of linkbutton ..
I have a userControl with with two DDLs and two RBLs, and public properties to get/set the values. If I register the UC on a page it works fine....I can set/retrieve the values without a problem.
I need to create multiple UCs based on records I'm pulling from a dB, so I'm trying to instead create the UCs programmatically. I'm testing this by adding a reference to the control ("symptomBasic"), creating a placeholder ("ph1") on a page and then trying to populate it with the UCs in PageInit. (the parent page uses a master page)
Partial Class testUC Inherits System.Web.UI.Page Private myUC As ASP.symptomBasic Protected Sub Page_init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Dim i As Integer For i = 1 To 3 myUC = CType(LoadControl("~/controls/symptom.ascx"), ASP.symptomBasic) ph1.Controls.Add(myUC) Next End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub End Class
When I load the page, I get three UCs in a row, and they work properly on postback...i.e. all the values are preserved. Question is, how do I then find the controls on postback when I want to populate them with data or read the values back?
Let's say I know I returned 3 rows from the dB and created 3 UCs during pageInit...how do I then access those controls to read back the values provided by the user? I see that each control has an ID like: "ctl00_ContentPlaceHolder1_ctl01_cName", where each set of controls is "ctl00", "ctl01", etc.
<% Dim i As Integer = 0%> <% For i = 0 To 5%> <asp:Button runat="server" Text="Station<%=i %>" /> <% Next%>
I'm tring to display several buttons in loop but I am not able to set Text values of each button different. Every button displays Station <%=i%> instead of Station 1, Station 2 and so on.
i am implementing a update query module.i am displaying all fields from a table for a term searched. well now i am implementing update option for the record which are displayed, i have like 70 columns in my table, and i want to know how to restrict some selected fields to be only read only while the form can be updated ?Like if user select to update a record then some selected field such as "Timestamp, UID etc some selected fields" remains READ ONLY !
I'm stuck in converting the rate in the datalist. My page contain one dropdownlist(currency converter), one datalist - inside contain the price of bags in labels. Now I uses the dropdownlist.selectedIndexchange
[code]....
Althought it did convert the rate, but it only convert the first row.
I am dealing with dynamic fields in a for loop and now I need to retrieve the values that are being typed in the dynamic fields, any idea how can I do that? 2)also when I click the submit button, upon postback, the dynamic fields have gone missing, have been trying to slove that, but i did not, anyone knows how to deal with this? kinda urgent :x
3) and How do you compare the 2 dynamic fields? For eg: Im comparing the tbSch[i] to tbSch[i], so that the dates cannot be the same, am using a compare validator, but it throws me error that im comparing the same fields :) even though i change to ("tbSch" + i) for both, sorry Will provide my code snippet as follow :D tbNum is a textbox where user enter numbers and click generate
protected void btnGen_Click(object sender, EventArgs e) { for (int i = 0; i < Convert.ToInt32(tbNum.Text); i++) { // label and textbox needed Label lblSch = new Label(); TextBox tbSch = new TextBox(); Label lblWsGrp = new Label(); DropDownList ddlWsGrp = new DropDownList(); CompareValidator cvSame = new CompareValidator(); cvSame.ID = "cvSame" + i; cvSame.ErrorMessage = "Date cannot be the same"; cvSame.Operator = ValidationCompareOperator.NotEqual; cvSame.Type = ValidationDataType.Date; cvSame.Display = ValidatorDisplay.Dynamic; cvSame.EnableViewState = true; cvSame.ControlToValidate = (tbSch.ID);<<<<< what should be the value in here? cvSame.ControlToCompare = (tbSch.ID);<<<<<<<<<< and here? //schdule date lblSch.ID = "lblSch" + i; lblSch.Text = "Session Date : "; lblSch.EnableViewState = true; tbSch.ID = "tbSch" + i; tbSch.Width = 210; tbSch.Height = 27; tbSch.EnableViewState = true; //workshop grp lblWsGrp.ID = "lblwsgrp" + i; lblWsGrp.Text = "Workshop Group : "; lblWsGrp.EnableViewState = true; ddlWsGrp.ID = "ddlWsGrp" + i; ddlWsGrp.Height = 27; ddlWsGrp.Width = 210; ddlWsGrp.EnableViewState = true; ddlWsGrp.Items.Add("1"); ddlWsGrp.Items.Add("2"); //table to store data TableRow trow = new TableRow(); TableRow trow2 = new TableRow(); //row1 TableCell tc1 = new TableCell(); TableCell tc2 = new TableCell(); TableCell tc3 = new TableCell(); TableCell tc4 = new TableCell(); //row2 TableCell tc5 = new TableCell(); TableCell tc6 = new TableCell(); TableCell tc7 = new TableCell(); TableCell tc8 = new TableCell(); TableCelltc9 = new TableCell(); tc1.Controls.Add(lblSch); tc2.Controls.Add(tbSch); tc3.Controls.Add(lblWsGrp); tc4.Controls.Add(ddlWsGrp); tc5.Controls.Add(space); tc6.Controls.Add(CeSess); tc7.Controls.Add(space); tc8.Controls.Add(space); tc9.Controls.Add(cvSame) trow.Cells.Add(tc1); trow.Cells.Add(tc2); trow.Cells.Add(tc3); trow.Cells.Add(tc4); trow2.Cells.Add(tc5); trow2.Cells.Add(tc6); trow2.Cells.Add(tc7); trow2.Cells.Add(tc8); trow2.Cells.Add(t9); this.table3.Rows.Add(trow); this.table3.Rows.Add(trow2); } }