Forms Data Controls :: Dropdown List Within A FormView Error?
Jun 29, 2010I have a formview and within it I have a dropdown list which brings back a list of value from my database,
View 2 RepliesI have a formview and within it I have a dropdown list which brings back a list of value from my database,
View 2 RepliesI have a formview in which I have a dropdown list that displays a list of owners. In case the list does not have the correct owner for the user I have added functionality for them to add a new owner to the database table that populates the list. I did this by including a textbox and an Insert button in a panel. When the user clicks the new owner insert button I would like to re-databind the dropdown list so that they will see the owner they added and be able to select it.
When I add ddl_owners.databind to my button click code it gives me an error. "Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control."
I don't want to re-databind the entire formview because then it deletes all the information on the form that the user has already keyed in.
I am using a dropdownlist inside Edit template of a formview,, the problem it is not saving the value ,, Here is my code : I am only updating the (status)
[Code]....
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") %>'
I'm trying to follow this article on cascading dropdown list in a GridView control in edit mode (except I'm using C#) [URL] I keep getting this error message "ProjectID is neither a DataColumn nor a DataRelation for table DefaultView."
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
{
DataRowView dv = (DataRowView)e.Row.DataItem;
//// Preselect correct value in Projects list
DropDownList listProjects = (DropDownList)e.Row.FindControl("DropDownList1");
listProjects.SelectedValue = dv["ProjectID"].ToString(); // *****************this is where I get the error *********
// Databind list of categories in dependent drop-down list
DropDownList listCategories = (DropDownList)e.Row.FindControl("DropDownList2");
SqlDataSource dsc = (SqlDataSource)e.Row.FindControl("sdsDDL2");
dsc.SelectParameters["ProjectName"].DefaultValue = dv["ProjectName"].ToString();
listCategories.DataBind();
listCategories.SelectedValue =(dv["CategoryID"].ToString());
}
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ttuser %>" SelectCommand="SELECT
TE.TimeEntryID,
P.ProjectName,
CAT.CategoryName,
TE.TimeEntryDescription,
TE.TimeEntryDuration,
TE.TimeEntryDate
FROM dbo.aspnet_starterkits_TimeEntry TE inner join
dbo.aspnet_starterkits_ProjectCategories CAT on
TE.CategoryID=CAT.CategoryID inner join
dbo.aspnet_starterkits_Projects P on
CAT.ProjectID=P.ProjectID
Where TimeEntryUserID=(SELECT UserId FROM dbo.aspnet_Users WHERE
UserName=@UserName) AND
TE.TimeEntryDate=@WeekEnding
" OldValuesParameterFormatString="original_{0}" UpdateCommand="UPDATE dbo.aspnet_starterkits_TimeEntry
SET
TimeEntryDescription=@TimeEntryDescription,
TimeEntryDuration=@TimeEntryDuration,
TimeEntryDate=@TimeEntryDate
WHERE
TimeEntryID=@original_TimeEntryID">
<SelectParameters>
<asp:ControlParameter ControlID="UserList" Name="UserName"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="WeekEnding2" Name="WeekEnding"
PropertyName="Text" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="TimeEntryDescription" />
<asp:Parameter Name="TimeEntryDuration" />
<asp:Parameter Name="TimeEntryDate" />
<asp:Parameter Name="original_TimeEntryID" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" BorderWidth="0px"
BorderStyle="None" Width="100%" CellPadding="2" PageSize="25"
DataKeyNames="TimeEntryID" onrowdatabound="GridView1_RowDataBound"
onrowupdating="GridView1_RowUpdating" >
<Columns>
<%--<asp:CommandField ShowEditButton="True" />--%>
<asp:BoundField DataField="TimeEntryID" HeaderText="ID"
SortExpression="TimeEntryID" InsertVisible="False" ReadOnly="True"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:TemplateField HeaderText="Project" SortExpression="ProjectName">
<EditItemTemplate>
<asp:DropDownList
ID="DropDownList1"
runat="server"
DataSourceID="sdsDdlProjectsEdit"
DataTextField="ProjectName"
DataValueField="ProjectID"
AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:SqlDataSource
ID="sdsDdlProjectsEdit"
runat="server"
ConnectionString="<%$ ConnectionStrings:ttuser %>"
SelectCommand="SELECT ProjectID,ProjectName FROM dbo.aspnet_starterkits_Projects">
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("ProjectName") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Category" SortExpression="CategoryName">
<EditItemTemplate>
<asp:DropDownList
ID="DropDownList2"
runat="server"
DataSourceID="sdsDDL2"
DataTextField="CategoryName"
DataValueField="CategoryID">
</asp:DropDownList>
<asp:SqlDataSource
ID="sdsDDL2"
runat="server"
ConnectionString="<%$ ConnectionStrings:ttuser %>"
SelectCommand="SELECT CategoryID,CategoryName FROM dbo.aspnet_starterkits_ProjectCategories WHERE ProjectID=@ProjectID">
<SelectParameters>
<asp:Parameter Name="ProjectID" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("CategoryName") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="TimeEntryDescription" HeaderText="Description"
SortExpression="TimeEntryDescription" ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="TimeEntryDuration" HeaderText="Hours"
SortExpression="TimeEntryDuration" ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField ApplyFormatInEditMode="True" DataField="TimeEntryDate"
DataFormatString="{0:d}" HeaderText="Week Ending"
SortExpression="TimeEntryDate" ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:CommandField ShowEditButton="True" HeaderText="Edit" ButtonType="Image" EditImageUrl="images/icon-edit.gif"
UpdateImageUrl="images/icon-save.gif" CancelImageUrl="images/icon-cancel.gif" />
</Columns>
</asp:GridView>
I have a web form for handling invoices which has a form view. When I'm in insert item template, I need to have various fields. Some of them are contract number, invoice number, register date and other that are easy to handle. But there is a dropdown list related with a table of prices (the table has price name, price initial payment, number of payments, amount of month fee and so on). So, when the dropdown is selected, fields related with price should get their values from price table, and then the user decides to keep them or type in new values. How can I get it done? Should I use a Dynamic populate extender or type all the code behind using SelectedIndexChanged method to populate price related controls?
View 2 RepliesIm tring to get a CMS up and running for work and come to the conclution that the FormView is the way to go.
I have an edit page and would like to have a dropdown list where people pick a "Parent", for my site map/Navigation, from the list instead of needing to know the ID of the Parent. I can do this for my "Add New Page", with no FormView, but when I place it within the formView for my Edit Page the DropDownList1 stops being declared.
So what I need is something like: Parent = Dropdownlist1.serlectedItem.Valu But have no Idea how to achieve this using my FromView, two ObjectDataSource's and the dropdown list.
I have tried to link a asp:Lable text to the value of the Dropdownlist so I can pass that back to the DB with no luck.
The Code behind is as good as blank so may need to add stuff in there but again cant if I cannot declare anything within the For View :(
[Code]....
To insert a new product to table [Products] in DB i have a formview. The formview includes a DropDown list taken from foreign table called [Status]. The table [Status] includes fields ID and Status (Status values are: Inn, Out, Damaged).
When i choose from the DropDown i want the textvalues from Status to be displayed (so far im good) but then i want the [Status.ID] to be inserted in [Products.Status_ID] so the cell value will be 1, 2 or 3. This because [Products.Status_ID] is the foregin key to [Status.ID] so that i have the ability to sort products after Status value later.
But do i really need that foreign key? Do i just complicate it further by doing it this way? Perhaps Status could just be a regular string with no foreign key...?
I am trying to replace a textbox to a dropdownlist:
[Code]....
I am getting a null exception for my Status field in the DB. Is my error obvious?
I am trying to replace a textbox to a dropdownlist:
[Code]....
I am getting a null exception for my Status field in the DB.
I have a databound dropdownlist and have a problem with the default value it selects.When I attempt to edit a record the dropdownlist shows the first value in the list rather than the current value. I want the dropdown list to display the current value.
I'm sure this is very simple but I'm very new to ASP.NET.
I'm using .NET version 4.
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.
View 7 RepliesI have a textbox in a formview as well as a dropdown. When I select a value in the dropdown, the textbox should be made visible or invisible based on the value I select.
View 3 RepliesI have a gridview that had a field called "GenericNameHepDrug" within the row. It's not the key field. I have an insert button that opens a formview in insertmode. How can I get the selected value of generichepdrug into the formview that opens when the button is clicked? I am using VB.NET 2.0.
here is some code from the source:
[Code]....
Here is what I tried to do in the code nehind of the button3_click:
[Code]....
[Code]....
CLearly I am lost. I have been working with ASP.NET VB for 2 months. I'm in over my head with figuring this one out - I've been at it for days.
I have a dropdown list where the user can select a name, on change event populates a Session variable and at the same time populates a formview with the full record detail. I want to add a List Item that states "Select Name" but when I add this the page errors. Input string was not in a correct format.
Description:
An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details:
System.FormatException: Input string was not in a correct format.
Because the value returned from the dropdown list box is a string and not a numeric equal to the first name in the list.
AppendDataBoundItems is = true
AutoPostBack is = true
because I want to update the page as a differnent name is selected. I guess I need to not load the form until an actual first name is selected. Uncertain how to prevent the Formview from loading at page load an until a name is selected and not when the dropdown is set back to "Select Name"
I am trying to display data in a formview based on the value selected from the drop down list. FormView does not respond or display any data.
<b>Select a vendor:</b>
<asp:DropDownList ID="vendorDropDownList" runat="server"
DataSourceId="SqlDataSource1"
AutoPostBack="True" DataTextField="CO_Vendor_Name"
[Code]....
I have a FormView which is used to insert a record into a database. Outside of this formview i have a drop down list, I want to grab the value from that drop down list and set one of the text fields within the formview to it's currently selected value. I've tried the following code, but the dynamic categorytextbox line is what seems to not be working.
[Code]....
I have a drop-down list that is wired up to a datasource from one table to retrieve a Vendor ID and Vendor Name. This ddl is outside a FormView that is wired up to a datasource containing Vendor contracts.
When I choose a Vendor from the ddl, I am able to populate a textbox outside of FormView with the Vendor ID from the ddl. However, what I need to do is populate a textbox within FormView with the Vendor ID. FormView is in Insert Mode by default since my page will be used for Adding Contracts only.
I will try to keep the question short:
1. I am new to ASP and I can not get this to work:
2. I am Using a <asp:DropDownList in a <InsertItemTemplate> in a <asp:ListView
3. The dropdownlist during insert does not get polulated (it is empty) while the same construction and same datasource works in the edittemplate: <asp:DropDownList in a <EditTemplate> in a <asp:ListView
4. I noticed that filling the dropdownlist with a <asp:ListItem works; the insert list is populated. (not usable for me) In both cases I use the same datasource from the code behind like this : Edit:
<asp:DropDownList ID="DropDownStartday" runat="server" SelectedValue='<%# Bind("startday") %>'
DataSource="<%# GetDataSourceStartDay() %>" DataValueField="daynum" DataTextField="dayname"
Insert: (with or without Selectedvalue: NoJoy)
<asp:DropDownList ID="DropDownStartday" runat="server"
DataSource="<%# GetDataSourceStartDay() %>" DataValueField="daynum" DataTextField="dayname"
I have a gridview with edit and save buttons.
code
<asp:TemplateField
HeaderText="Job Title"
SortExpression="Job Title">
[Code]....
The above code is not working what should I change to make it work?
can i enter a choice that is not in the dropdown list? Just like a combo box, there is a list of item but a user can still have an option to enter in the textbox. does a dropdown list also have this function? or if not is there a workaround?
View 3 Repliesi would like to know how to load the dropdown list in the Gridview edit with the dropdown list values from the database
View 3 RepliesI want to access a dropdown control value of each list item as soon as it is created. I tried with ItemCreated and ItemDataBound events but I am getting null contro when I try to access control as shown below:
ListViewDataItem item = (ListViewDataItem)e.Item;
int LstIndex = item.DataItemIndex;
RadComboBox ddlCategory = (RadComboBox)(listView1.Items[LstIndex].FindControl("rdComboCategory"));
Also, I get listview.item.count zero. IS there any event where I will get listitem count and list items?
I have a database with some data in. Now I'm trying to show that data on my page whit a ListView.
For each object from the database a ListView will generate a dropdownlist.
I also have a DataPager on my page and this is where the problem occurs.
Each object generated from the database has a field that may look like this example.: 1,2,3.
In my code now I´m trying to split this string of comma character and add new items to my dropdownlist.
This works as long as I do not have DataPager on. But if I choose to view an x number of pages at the time when the page loads, I have value in the dropdownlists, only on my first page.
A piece of my code:
[Code]....
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
<asp:GridView ID="GridViewEmply" DataKeyNames="EmployeeID" runat="server"
AutoGenerateEditButton="True" ShowFooter="True"
OnRowEditing = "GridViewEmply_RowEdit" OnRowCancelingEdit = "GridViewEmply_RowCancelingEdit"
OnRowUpdating = "GridViewEmply_RowUpdating" OnRowCommand = "GridViewEmply_RowCommand"
OnPageIndexChanging="GridViewEmply_PageIndexChanging"
AllowSorting="True" AutoGenerateColumns="False" AllowPaging="True" Visible="false">
<Columns>
<asp:TemplateField HeaderText="DepartmentName">
<ItemTemplate>
<asp:Label ID="LabelEmplyDeptName" Text='<%# Eval("DepartmentName") %>' runat="server"></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="ddlDept" runat="server" >
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>