Forms Data Controls :: Setting Up A DataList Programatically
Feb 11, 2010
Working on a web part that will contain a datalist. How do you set up various properties such as ItemStyle, AlternatingItemStyles, and all the data binding?
I've search for some keywords but could not find anything relevant.
I have a formview bound to a sqldatasource control. I want to set one of the insert parameters when I click on one of several buttons (outside the formview).
I want to set the "benType" depending on which button I've pressed (I don't want/need it to be visible in the InsertTemplate). I tried adding this line to the codebehind for the button click:
I have a DataList called Books on my form. If the Genre is Mystery, I want the TableHeaderCell to be a different color. The BackColor is set by default to: #66CCFF.
How do I access this control in the code behind? I want to be able to say:
I am writing a system that is input intensive, and the used need to be able to use without touching the mouse. I am trapping the enter key and defaulting to click an "Enter" button that I have on the screen. In the EnterButton_Click event, I am using a "menu option" to determine which DataList item they want.
All of that is working great, except reading back the URL from the DataList Item, which I need for my repsonse.redirect to call the next screen.
[Code]....
I am inches away from pulling this off.Entire code is below. The actual datatable/datasource will come from a file later, I just mocked up some links for this example.
I have a datalist that holds imagebuttons which all link to images stored in a database. When I click on any of the image buttons the datalist enlarges the chosen picture and manages to dothis as the datalist is binded by the uniqueID of the image in the database. So, when I am looking at the enlarged picture, it would be nice to be able to click 'Next' & 'Prev' link buttons to move onto the next or previous picture without having to return to the datalist in between looking at a different photo.
I have managed to set up methods for clicking on 'next' and 'prev' linkbuttons that will successfully browse back and forth between photos in the datalist but the selected index always starts at 0, i.e the first photo in the datalist. So if I'm viewing the 5th image in the list and press 'next', the first image in the list shows up. I thought just by clicking on an image button would automatically set the selected index but obviously this is not the case. I have read various threads and tutorials on the net and a lot of them point to dlIcons.SelectedIndex = e.Item.ItemIndex; I have tried to put this in the itemDataBound method for my datalist but it changes nothing. And if i try to put that line of code in other messages in the class i get error messages (I'm using Visual Web Developer C#).
its part of a final year project due in 3 weeks and by now I should be writing the report! The code I'm using is pretty huge and spread out between classes but I will include what I think might help illustrate how it all works:
<asp:DataList ID="dlIcons" runat="server" DataKeyField="AttachmentID" OnItemDataBound="dlIcons_ItemDataBound" ItemStyle-BorderWidth="1px" RepeatColumns="5" RepeatDirection="Horizontal" CssClass="Icons" OnSelectedIndexChanged="dlIcons_SelectedIndexChanged"> <AlternatingItemStyle CssClass="AlternatingRowStyle" /> <ItemStyle CssClass="RowStyle" BorderWidth="1px" /> <HeaderStyle CssClass="HeadeBrStyle" /> <FooterStyle CssClass="FooterStyle" /> <SelectedItemStyle CssClass="SelectedRowStyle" /> <ItemTemplate> <asp:Label ID="lblFilename" runat="server" Font-Size="Small" Text='<%# Eval("Filename") %>' ></asp:Label> <br /> <asp:LinkButton runat="server" id="btnDelete" CommandArgument="<%# Bind('AttachmentID') %>" CommandName="DELETE" Text="Delete" OnClick="btnDelete_Click" Font-Size="small" CssClass="btnDelete" /> <br /> <asp:ImageButton runat="server" ID="imgBtnFileType" width="120" Height="120" ImageAlign="right" ImageUrl='<%#"http://localhost:49279/PDFViewer/GetAttachment.ashx?AttachmentID=" + Eval("AttachmentId") %>' OnClick="imgBtnFileType_Click" BorderWidth="1PX" CssClass="imgBtnFileType" CommandName="VIEW" CommandArgument="<%# Bind('AttachmentID') %>"/> <br /><br /> </ItemTemplate> </asp:DataList> The CS file: protected void dlIcons_ItemDataBound(object sender, DataListItemEventArgs e) { if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) { DataRowView drv = e.Item.DataItem as DataRowView; dlIcons.SelectedIndex = e.Item.ItemIndex; int attachmentID = (int)drv["AttachmentID"]; string fileType = (string)drv["Type"]; ImageButton imgBtnFileType = e.Item.FindControl("imgBtnFileType") as ImageButton; string fileName = (string)drv["FileName"]; Label lblFilename = e.Item.FindControl("lblFilename") as Label; lblFilename.Text = fileName.Length > 12 ? fileName.Substring(0, 10) + ".." : fileName; } } The next and prev link buttons onclick leads to these two methods: public int nextPic() { dlIcons.Items.Equals(dlIcons.SelectedIndex++); int nextAttach = (int)dlIcons.SelectedValue; return nextAttach; } public int prevPic() { dlIcons.Items.Equals(dlIcons.SelectedIndex--); int prevAttach = (int)dlIcons.SelectedValue; return prevAttach; }
these were void methods but i've been stuck on this for hours and have resorted to fiddling with just about everything.
In our asp.net web application we load the dropdown list boxes in the page load. We than set the SelectedValue of each dropdown list box to an object from session. We have event handlers for many of the SelectedIndexChanged events of the drop down lists boxes, but these do not get executed when we set the selected value programmatically.
Someone else mentioned this is by design, and only when a user manually changes the drop down list selected index, will the event get raised.
I would think this is a common scenario of wanting the selectedindexchanged event handled when setting the selectedvalue/selectedindex/listitem's selected property, of a DropDownList. What is the suggested way to handle this? Is there a significant drawback of creating a custom control inherited from DropDownList that has the functionality of raising this event when changing the SelectedIndex or SelectedValue?
The problem is that i have a search page. Access Database holding the information. I have a Access Datasource on the page with a Datalist to show the data. I need to find a way on setting it up to says "Sorry no results found" when the is no results. i am unsure on how to do this though.
I need to create a grid where the users can see all the memberships, and have a line of checkboxes for each existing role, and be able to check/uncheck roles to allow access authority.
I managed to build a datatable that adds columns and displays them properly, but I have not been able to programatically add columns to the grid based on whatever roles are stored in the system.
I can display the users and their roles by just specifying AutoGenerateColumns="true" when I do that, the checkboxes are grayed out, and the users do not want to have to click a button to open them up.
Here is what I can't figure out.
How do I programatically add columns to the GridView? I have some code in Pageload, but it doesn't work, so it is commented out?How do I turn on all the rows for the entire GridView to edit mode? How do I access the column name for the role they just checked so that I know what to add with the ystem.Web.Security.Roles.AddUserToRole(UserName, Role)?
i need to replicate or add one more row to the present row in a gridview on clicking a button in template field....am able to add a new row which is having controls not only text....but the entire grid is resetting...i dont want to reset the gri and want to add new row to grid...
Am building a Form for out intranet that runs on ASP.NET and C#, it is to be a survey from a SQL database. I have the connections setup can pull informations/Questions from the database. I am having a problem with setting up radio buttons within a datalist, ive never done this and i know they require unque names.
It is to be 4 radio buttons per question where only one can be select, i know how to group just not via a datalist with unique names
I am trying to place a datalist inside datalist. I managed to place a datalist inside gridview but not datalist inside datalist.
Below is the code I am using to bind the datalist into the master gridview, I am trying to change this code in such way it will be right for datalist inside datalist but so far I did not succeed.
i have a datalist . that is contains 7 columns in repeat layout .when i have more from 7 columns , datalist style is normal .but when i have smaller than 7 columns ! data list style is not normal,
because there are some empty columns without specific schema.
How i can make a datalist > when i have 1 columns in my datalist my first layout width be 100% ;
I have a DropDownList on my aspx page and wanted to add ListItem programatically. The item will start from 2 years ago to 1 year later (e.g. from 2009 to 2012) so if the year change, it will be automatic. I also want the current year to be selected by default. In the code behind, I did this:
For i As Integer = (DateTime.Now.Year - 3) To (DateTime.Now.Year + 1) DropDownList1.Items.Add(i.ToString()) Next DropDownList1.SelectedItem.Text = DateTime.Now.Year
As result, I'm having the items in this order: 2011 (selected), 2009, 2010, 2011, 2012. The 2011 is duplicated (I wonder why). When I view the source page on Internet Explorer, I have this:
I am displaying the output of a LINQ query in a Detailsview control. I have a Detailsview called DetailsCaAb and a DropDownList called DropDownList2, when the use makes a selection from DropDownList2 the Linq query fetches the data CatAbstract from the table CatagoryTables. e.g.
[code]....
Unfortunately I cannot seem to control what is displayed by the DetailsView, I only want to display CatAbstract, but the details view generates another column called Items. How do I ensure only the data I want is displayed? I need a way of controlling the columns generated programmatically.
How can we programmatically select a row in GridView control based on the datakey.That means, I know the Primary key of the row which I want to select. So how would I select that particular row?P.S. I dont want to select it based on Index.
I've got a FormView control for which I'm Viewing, Inserting and Updating to a MS SQL Database.
Instead of adding a SqlDataSource control to the page, I've created it in the code behind and declaring the properties/attributes for it during Page_Load.
At the moment, everything is bound and working fine, but I'm having an issue Databinding to the child controls in my FormView with parameters set in the code behind.
This is where I'm at.
[Code]....
[Code]....
So, I need to be able to bind the DS.InsertParameters.Add("PageTitle", ---) with the txPageTitle control in the Insert Template, same with the PageURL to txPageURL. Is there any easy way to do this from the code behind? I can't seem to find a way to add a parameter without needing to assign it a value.