Forms Data Controls :: Handling Dropdown List In A Gridview For EditItemTemplate?
Feb 26, 2010
I have a gridview and I do Add, Modify and Delete operations. I am comfortable adding and modifying any text or date value. Now, I have a dropdown list to be displayed. I need to add and modify. The contents in the dropdownlist is fixed. Below is the code. I know there is a problem in my
When i Updating my gridview and i modify the value of dropdown the update is all ok, but if i not modify the dropdown and leave the selected value after the update i see another value, the first of listitem of my dropdown.
This is my code:
Sub GrdUpdate(ByVal sendere As Object, ByVal e As GridViewUpdateEventArgs) Dim ID_ricette, NomeRicetta As String Dim NomePortata As DropDownList Dim NomePortataSel As String If Not e.NewValues(0) Is Nothing Then ID_ricette = e.NewValues(0).ToString NomeRicetta = e.NewValues(1).ToString..........
I want to dynamically populate data in Dropdown box in the Edititemtemplate of the Listview. The below code is showing error "Object reference not set to an instance of an object". The problem is in Findcontrol function. How to solve this.
In my gridview I have a list of chassises paired with hard drives and the current chassis user. On editing I have a users dropdownlist and I have a dropdown list of hard drives. How can I make it so that if my Chassis type is "fixed" then the hard drives dropdownlist shouldn't appear (only the previous value will be displayed) but still allow the users the be changed?
How to write code in vb.net to control the Dropdown which is inside FormView EditItemTemplate. FormView named "frmFaultsReg" DetailsView named "lstStatus" Actually what i want to do that there is a textbox inside FormView EditItemTemplate and ItemTemplate to insert Closing date. lstStatus has a value PENDING and CLOSED. If a user select CLOSED from lstStatus then the date textbox named "ClrDateTimeTextBox" should show current date time and to insert into database and if user again selects PENDING from lstStatus then the date textbox should show empty. I think the postback of lstStatus should work but lstStatus is inside the FormView thats why I am unable to hook it.
I am stuck at this point "Displaying a dropdown list of Categories with a --None -- Option. I want the gridview control to display 2 dropdown list one in read-only mode and the other in edit mode. When a record is in read-only mode, the dropdownlist's enabled property will be set to false."When it's on a read-only mode, it doesn't display the selected Category. it shows but the "No Category". When i click on edit to edit or change category, it doesn't display the selected category.
The example is given below( I am reading the book Sams Teach yourself ASP.NET 2.0 by Scott Mitchell. page 628)
<asp:Label ID="UserIdValue" runat="server" Visible="False"></asp:Label> <asp:SqlDataSource ID="picturesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Pictures] WHERE ([UserId] = @UserId) ORDER BY [UploadedOn] DESC" DeleteCommand="DELETE FROM [Pictures] WHERE [PictureID] = @PictureID" InsertCommand="INSERT INTO [Pictures] ([UserId], [CategoryID], [Title], [Description], [UploadedOn]) VALUES (@UserId, @CategoryID, @Title, @Description, @UploadedOn)" UpdateCommand="UPDATE [Pictures] SET [UserId] = @UserId, [CategoryID] = @CategoryID, [Title] = @Title, [Description] = @Description, [UploadedOn] = @UploadedOn WHERE [PictureID] = @PictureID"> <DeleteParameters> <asp:Parameter Name="PictureID" Type="Int32" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="UserId" /> <asp:Parameter Name="CategoryID" Type="Int32" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="UploadedOn" Type="DateTime" /> </InsertParameters> <SelectParameters> <asp:ControlParameter ControlID="UserIdValue" Name="UserId" PropertyName="Text"/> </SelectParameters> <UpdateParameters> <asp:Parameter Name="UserId"/> <asp:Parameter Name="CategoryID" Type="Int32" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="UploadedOn" Type="DateTime" /> <asp:Parameter Name="PictureID" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource> <br /> <asp:SqlDataSource ID="categoriesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [CategoryID], [Name] FROM [Categories] WHERE ([UserId] = @UserId)"> <SelectParameters> <asp:ControlParameter ControlID="UserIdValue" Name="UserId" PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource> <br /> <asp:SqlDataSource ID="maxPictureIDDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT MAX(PictureID) FROM Pictures WHERE UserId = @UserId"> <SelectParameters> <asp:ControlParameter ControlID="UserIdValue" Name="UserId" PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource> <br /> <asp:Label ID="cannotUploadImageMessage" runat="server" Text="The photo could not be added to your album either because you did not specify a file to upload or the file specified was not a JPEG image with the file extension .JPG"></asp:Label> <br /> <asp:DetailsView ID="dvPictureInsert" runat="server" DataSourceID="PicturesDataSource" Height="50px" Width="125px" AutoGenerateRows="False" CellPadding="4" DataKeyNames="PictureID" DefaultMode="Insert" ForeColor="#333333" GridLines="None"> <AlternatingRowStyle BackColor="White" /> <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" /> <EditRowStyle BackColor="#2461BF" /> <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" /> <Fields> <asp:TemplateField HeaderText="Picture"> <InsertItemTemplate> <asp:FileUpload ID="imageUpload" runat="server" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="imageUpload" Display="Dynamic" ErrorMessage="There was no file selected" ValidationGroup="PictureAdd"></asp:RequiredFieldValidator> </InsertItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Category" SortExpression="CategoryID"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CategoryID") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="pictureCategory" DataSourceID="categoriesDataSource" runat="server" DataTextField="Name" DataValueField="CategoryID" SelectedValue='<%# Bind("CategoryID") %>' Visible='<%# Bind("CategoryID") %>' AppendDataBoundItems="True"> <asp:ListItem Selected="True" Value="">-- Select Category --</asp:ListItem> </asp:DropDownList> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("CategoryID") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Title" SortExpression="Title"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Title") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Title") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="you must provide a name for the title" ValidationGroup="PictureAdd"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("Title") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Description" SortExpression="Description"> <EditItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Description") %>'
How do i set a data source of a drop down list which is inside a grid view, snap shot of asp code given below , the Asp file name is DataEntry.aspx and there is method in the DataEntry.aspx.cs called DTB.BindData("Department"). i want to set the datasource to point to this method
I have packed the access 2007 project management database and moved it to SQL Server. I'm aware that SQL doesn't populate dropdown lists for the Status and completion Percentage columns. I have to have this done by April 21 and my professor is just now telling me he won't accept the textbox inputs due to data integrity and I don't have time to rebuild this entire site.
i have a drop down list that will be used to filter a datatable, i would like to populate the ddl datasource from Unique values from the datatable for the grid.
Is it possible to SELECT from the grid datatable 2 columns with unique vals? like Select custId, CustName groupby custId, CustName ?
I have a gridview and it has two EditItemTemplates. I want to update the items inside the second dropdown (EditItemTemplate) when I select an item from the first dropdownlistbox (EditItemTemplate). I want to update dropdownlist2 when I select an item from dropdownlist1. How can I do this?
i have 4 text boxes and 2 dropdowns are there when ever i fill it all values should place in grid view., after entering of 5 or 6 records, i click on SAVE button then ,i want to save those values in to Data Base ,which are at Grid view.....
I have created an asp.net customizable gridview where user will be able to add and delete data. Now I face some proplem with this gridview. now I want to add a dropdown list (which is dynamically bind with database) inside the grid. I created code and it bind well. when the page is post back previous selected dropdown list value lose and set to selectedIndex=0; For this reason I used if(!page.Ispostback) and put the dropdown binding code inside this. Here I faced a problem. The problem is when I want to add data inside grid the dropdownlist missin bind. How can I overcome this problem? For your kind observation I given entire code below:
I'm having trouble figuring out how to display a gridview based on the selection of a drop down list. I manually entered the drop down list items, but in the configure/choose data source I don't understand how you make a relationship between each list item and the corresponding database table you want to show.
Using C# and sql server. I have a gridview which is populated using a sql query. I have 5 columns in the gridview ( projectid,project name,description,date,status). I'm using the Edit/update option that is available in the gridview to edit/update a user selected row. When I use this Text boxes appear. I want to have a drop down list for status instead of a text box with values Started,Inprocess,Complete, Inhold.
I have a Gridview with a parameterized SQLdatasource. I want the Gridview to be filter when the a selection is made from the dropdown list Here is what I have. I am missing something.
<asp:SqlDataSource ID="SqlDSAlbums" runat="server" ConnectionString="<%$ ConnectionStrings:Default %>" SelectCommand="SELECT Album.Album, genre.Genre, Band.Band, Album.year, Album.AlbumUID FROM Album INNER JOIN Band ON Album.BandUID = Band.BandUID LEFT OUTER JOIN genre ON Album.GenreUID = genre.GenreUID WHERE (genre.Genre = @Genre) OR (genre.Genre < 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ') ORDER BY genre.Genre, Band.Band" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"> <SelectParameters> <asp:ControlParameter ControlID="ddlGenre" Name="Genre" PropertyName="SelectedValue" /> </SelectParameters> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDSGenre" runat="server" ConnectionString="<%$ ConnectionStrings:Default %>" SelectCommand="SELECT Genre, GenreUID FROM genre Order by Genre"></asp:SqlDataSource> Select a Genre <asp:DropDownList ID="ddlGenre" runat="server" DataSourceID="SqlDSGenre" DataTextField="Genre" DataValueField="Genre" AppendDataBoundItems="True" AutoPostBack="True"> </asp:DropDownList> <asp:GridView ID="gvAlbum" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="SqlDSAlbums"> <Columns> <asp:BoundField DataField="Album" HeaderText="Album" SortExpression="Album" /> <asp:BoundField DataField="Genre" HeaderText="Genre" SortExpression="Genre" /> <asp:BoundField DataField="Band" HeaderText="Band" SortExpression="Band" /> <asp:BoundField DataField="year" HeaderText="Year" SortExpression="year" /> <asp:TemplateField HeaderText="Comments"> <ItemTemplate> <asp:HyperLink ID="hlToComments" HeaderText="Comments" runat="server" NavigateUrl='<%# String.Format("ViewComments.aspx?AlbumUID={0}", Eval("AlbumUID")) %>' Text="Click Here" /> </ItemTemplate> </asp:TemplateField>
I have a DropDownList inside the EditTemplateItem (if the user clicks edit) in a GridView.The DropDownList receives all available rows from the database. My problem is,if the user clicks Edit in the GridView to edit a row and opens the DropDownList Box the original item is not selected but the first one.That means the items are sorted. Have someone an idea how I can solve this issue that the right item / the original is selected if I change to edit mode of the grid view?
I am developing page for maintaing employee record using Visual Studio 2008, MS SQL server 2005. I am able to fetch and display all the employee information in gridview, the gridview have the dropdown list to display the employee type [ Part Time, Full Time, Permanent , Contract ], in the item template i am having dropdown list. IN the dropdown list i am displaying this. But While saving the record in gridview the droppdown selected index are changed to 0 of other dropdown list.
the user may be change the dropdown value from permanent to contract, or so. but while click on the save button in gridview, all the previous selection are gone, and always showing the first record of dropdown list. I know this is happening because we are doing dropdown list bind on onRowDataBound.
I have a dropdown list in the edittemplate of a gridview and now it selects the first value that comes from the datasource. How can I get it to select it's original value? Where do I put the code?
i want to see the sales in the grid view based on the month selected from drop down list. Ex: when I select June 2010 from the ddl box, the sales for that month are correctly displayed in the grid view. I go to page 4 to look at some sales there and then switch the month to August 2010 to see sales for that month instead. Here is the problem. When I switch the month, it show August 2010 sales, but stays in page 4 instead of going back/resetting back to page 1 of August 2010 sales.
How do I reset the grid view page back to the first page of August 2010 sales?
I am fairly new to ASP. If I have missed an imp. detail in this post, let me know and I will get that info. out there.