C# - FormView Manual Data Binding
Sep 7, 2010
I have a FormView that I user for updating a record. There is a link button that when fires should perforom the updating via BLL and DAL. I am not using built-in ODS and I will not condsider using it. I have all my grids and formviews populated manuualy by calling methods that fetch the data from the database. For instance my details view is populated like this:
protected void DlMembers_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName.ToString() == "Select")
{
DlMembers.Visible = false;
lblError.Text = string.Empty;
lblError.Visible = false;
fvMemberDetail.Visible = true;
fvMemberDetail.ChangeMode(FormViewMode.Edit);
MemberBLL getMemberInfo = new MemberBLL();
int Ident = Convert.ToInt32(e.CommandArgument.ToString());
fvMemberDetail.DataSource = getMemberInfo.GetMemberByIdent(Ident);
fvMemberDetail.DataBind();
}
if (e.CommandName.ToString() == "DeleteSelected")
{
DlMembers.Visible = true;
lblError.Text = string.Empty;
lblError.Visible = false;
fvMemberDetail.Visible = false;
fvMemberDetail.ChangeMode(FormViewMode.ReadOnly);
}
What I want to do if to capature my linkbutton on click event and do this (except that the runtime never reaches this method):
protected void MemberInfoUpdating(object sender, EventArgs e)
{
TextBox id = (TextBox)fvMemberDetail.FindControl("txtIdent");
if (id.Text != string.Empty || id.Text != "")
{
TextBox txtFN = (TextBox)fvMemberDetail.FindControl("txtFN");
TextBox txtLN = (TextBox)fvMemberDetail.FindControl("txtLN");
DropDownList ddlAddress = (DropDownList)fvMemberDetail.FindControl("ddlAddress");
TextBox txtEmail = (TextBox)fvMemberDetail.FindControl("txtEmail");
TextBox txtHPhone = (TextBox)fvMemberDetail.FindControl("txtHPhone");
TextBox txtWPhone = (TextBox)fvMemberDetail.FindControl("txtWPhone");
TextBox txtMPhone = (TextBox)fvMemberDetail.FindControl("txtMPhone");
DropDownList ddlPos = (DropDownList)fvMemberDetail.FindControl("ddlPos");
DropDownList ddlIsAdmin = (DropDownList)fvMemberDetail.FindControl("ddlIsAdmin");
bool blIsAdmin = false;
if (ddlIsAdmin.SelectedValue == "True") blIsAdmin = true;
TextBox txtComments = (TextBox)fvMemberDetail.FindControl("txtComments");
MemberBLL updateMemberInfo = new MemberBLL();
bool UpdateOK = updateMemberInfo.UpdateMemberByIdent(
txtFN.Text,
txtLN.Text,
ddlAddress.SelectedValue,
txtEmail.Text,
txtHPhone.Text,
txtWPhone.Text,
txtMPhone.Text,
blIsAdmin,
txtComments.Text,
Convert.ToInt32(ddlPos.SelectedValue),
Convert.ToInt32(id.Text));
}
else
{
//Display error - no user id cannot update record
}
}
The linkbutton looks like this:
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
OnClick="MemberInfoUpdating" Text="Update" />
View 1 Replies
Similar Messages:
Jul 25, 2010
I have a Formview binded in the code file to a generic list. Now, upon editing of a record, I wish to access the Keys and NewValues out of the FormViewUpdateEventArgs parameter of the ItemUpdating event handler method. From what I've tried and searched over the internet as of now, I've come to know that updated values are only available if the Formview is set a data source control on the markup page else they'd be null. Is this true?
Secondly, at this moment I am casting the sender object to formview and individually filling each object property by using FindControl method to find and retrieve values present in the controls. Is this the best way to do this task? As an example, this is what I am doing atm:
FormView currentForm = (FormView)sender;
ListObject.ID = new Guid(((HiddenField)(currentForm.FindControl("hdnID"))).Value);
ListObject.Name = ((TextBox)(currentForm.FindControl("txtName"))).Text;
View 1 Replies
Jun 23, 2010
I have a manual binding to a grid view. After that, I found out the Grid_View.Columns.Count still give me 0.
I tried to set this:
AutoGenerateColumns="False"
After I set this value, the gridview become empty. Wonder if the False causing the column count to be 0.
[Code]....
View 5 Replies
Jul 1, 2010
I have a manually binded gridview, which I set AutoGenerateColumns=False. I then tried to set AllowSorting=true at runtime, but it wont work.
My gridview are created during runtime.
View 5 Replies
Sep 7, 2010
I've posted this some place else but have not heard from anyone and hoping I get better luck here.
Note: Sorry about the formating, not sure what happened.
[Code]...
[Code]...
[Code]...
[Code]...
View 2 Replies
Jan 12, 2011
I have a formview with both edititem template and item template as following:
<asp:FormView ID="PFTFormView" runat="server"
DataKeyNames="PFTId"
EnableModelValidation="True" Width="90%"
OnItemUpdating="PFTFormView_ItemUpdating"
onmodechanging="PFTFormView_ModeChanging" >
<EditItemTemplate>
<table>
<tr><td class="style1">PFTId</td><td class="style3"><asp:Label ID="lblPFTId" runat="server" Text='<%# Eval("PFTId") %>' /></td></tr>
<tr><td class="style1">Last Name</td><td><asp:TextBox ID="txtPFTLastName" runat="server" Text='<%# Bind("PFTLastName") %>' Width="200px" /></td></tr>
<tr><td class="style1">First Name</td><td><asp:TextBox ID="txtPFTFirstName" runat="server" Text='<%# Bind("PFTFirstName") %>' Width="200px" /></td></tr>
<tr><td class="style1">Home</td><td><asp:TextBox ID="txtPFTHome" runat="server" Text='<%# Bind("PFTHome") %>' Width="200px" /></td></tr>
</table><br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
CommandName="Update" Text="Update" />
<asp:LinkButton ID="UpdateCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
<ItemTemplate>
<table>
<tr><td>PFTId</td><td><asp:Label ID="lblPFTId" runat="server" Text='<%# Eval("PFTId") %>' /></td></tr>
<tr><td>Last Name</td><td> <asp:Label ID="lblPFTLastName" runat="server" Text='<%# Bind("PFTLastName") %>' /></td></tr>
<tr><td>First Name</td><td><asp:Label ID="lblPFTFirstName" runat="server" Text='<%# Bind("PFTFirstName") %>' /></td></tr>
<tr><td>Home</td><td> <asp:Label ID="lblPFTHome" runat="server" Text='<%# Bind("PFTHome") %>' /></td></tr>
</table><br />
<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False"
CommandName="Edit" Text="Edit" />
</ItemTemplate>
</asp:FormView>
on my code behind, I have:
Sub PFTFormView_ItemUpdating(ByVal sender As Object, ByVal e As FormViewUpdateEventArgs)
Dim PFTObj As New PFT
Dim PFTDST As New Data.DataSet
Dim newPFTLastName As String = DirectCast(PFTFormView.FindControl("txtPFTLastName"), TextBox).Text
Dim newPFTFirstName As String = DirectCast(PFTFormView.FindControl("txtPFTFirstName"), TextBox).Text
PFTObj.PFTLastName = newPFTLastName
PFTObj.PFTFirstName = newPFTFirstName
PFTObj.PFTHome = DirectCast(PFTFormView.FindControl("txtPFTHome"), TextBox).Text
If PFTObj.UpdatePFT(Session("PFTId")) Then
Me.lblErrorMessage.Text = "PFT Update Successfully"
Else
'
Me.lblErrorMessage.Text = "PFT Update UnSuccessfully"
End If
PFTDST = Nothing
PFTObj = Nothing
end sub
The problem is:
PFTObj.PFTLastName = newPFTLastName
PFTObj.PFTFirstName = newPFTFirstName
PFTObj.PFTHome = DirectCast(PFTFormView.FindControl("txtPFTHome"), TextBox).Text
are not returning the updated value from the form.
View 4 Replies
Mar 30, 2010
I have a GridView or DetailsView and its bound to a CslaDataSource.I noticed that the "Object_Select()" event is fired automatically with every time the page is loaded or refreshed.How I can perfrom mnaual biding between the DetailsView Control and CslaDataSource ?I want to control binding via code using the DetailsView.DataBind() method in certain cases only.
View 4 Replies
Nov 29, 2010
I don't much care for the template rigmarole of the ASP.NET FormView web forms control. It seems the only way to access template defined controls is to 'capture' module level references to the wanted controls in the ItemCreated data binding event, for use in other tasks and event handlers. Ideally I would just like to be able to call set this.DataSource and call this.DataBind on a page, but only the latter is possible through inheritence, and doesn't achieve any of my normal data binding needs. What else is there besides the hairy, scary FormView control?
View 1 Replies
Jan 14, 2011
<asp:RadioButtonList ID="RadioButtonList2" runat="server" selectedvalue='<%# Bind("FieldNameTbl") %>' RepeatDirection= "Vertical" RepeatLayout= "Table">
<asp:listitem value="0">I</asp:listitem>
<asp:listitem value="1">T</asp:listitem>
</asp:RadioButtonList>
This is how it works for a radio button list in a formview insert template.
View 2 Replies
Jul 22, 2010
I have a FormView which will bind values from the database using a ID parameter from queryString. In my database, I have a field named CategoryList which can store multiple CategoryID (From Category table) in CSV format (eg: "1,3,4,5"). I'm using SQLDataSource as my datasource.
So, I want to show the selected category in CheckBoxList. Meaning that, the checkbox will be checked (on page load) if its ID is in the CategoryList. Also, I want to allow the user to check/uncheck the CheckBoxList and updates to the database in CSV format. How can i do that?
View 4 Replies
May 4, 2010
I have a sql-bound formview with three DDL's bound to individual SQL datasources. In edit mode, I want to set the selected value to the formview's value, and this works:
<asp:DropDownList
ID="ddl2"
runat="server"
DataSourceID="ddl2lDS"
DataValueField="Name"
SelectedValue='<%# Eval("Name") %>'
/>
But it only works when there's a match between what's in the formview's DS and the DDL's DS.
Unfortunately, there may be instances where the the formview's DS may return a null value or a value different from the DDL's datasource...and when that happens I receive a compilation error like:
'ddl2' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value
What do I need to do to trap that condition before attempting to set the selected value? Do I need to set the selected value of the DDL in formview's dataBinding or dataBound event, by looping through the DDL and checking for a match first?
View 6 Replies
May 26, 2010
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]....
View 4 Replies
Mar 1, 2011
I want to bind an object to a form view.
[Code]....
Now, is it possible to generate a new object on update, without getting and reading each textbox with findcontrol?
View 6 Replies
Feb 22, 2011
im learning webforms and asp.net in general and what i have so far is a formview that displays data being pulled from a sqldatasource, but i also want a checkboxlist that can be used to input information and display information. this checkboxlist is insode the formview. the problem im having is that my formview is calling a datasource with an specific stored procedure with one table and my checkboxlist needs to called another stored procedure that has a different table. formviews does not allow you to have tow different datasources so how can i make this possible? ill paste the front end code and the backend code so you guys can see what im trying to do.
[Code]....
backend:
[Code]....
and my util where the booleans are being set
[Code]....
View 1 Replies
Jun 15, 2010
In an vwd2005 aspx page, I have a formview, dropdownlist and 2 sqldatasources. My markup is below
[Code]....
When the dropdownlist causes the postback, the formview does not display the data (it's there, I've double checked using query analyzer). Also, the OnIndexChanged only makes a button visible and has nothing to do with the data. What am I missing?
View 7 Replies
Sep 7, 2010
FormView custom data binding problem
View 7 Replies
May 2, 2010
I select a item from gridView and trying to show/update/delete in From view. In Form View I am using the dropdownlist filling it in Code behind. Then i bound the list. But the problem is it is not showing the slected value. Here is the code
asp code <asp:GridView ID="grdVRegion" runat="server" AllowPaging="True"
AutoGenerateColumns="False"
Width="525px" PageSize="20" DataKeyNames="intPKCountry_DetailID" [code]....
View 6 Replies
Oct 18, 2010
I have a formview bound to an entitydatsource and it is working fine. here's the scenario though
If the querystring contains a "memberID" , I have setup an object datasource to fetch the results corresponding to the memberid from the database.
I want the name and email id fields in the formview to default to these values in the objectdatasource. How can you do this?
View 3 Replies
Dec 6, 2010
I have a label inside a formview that is not bound to anything.
Lets say I have a table of customers (with a key field called CustomerID), and then another table that has all their orders (with amount spent per order (OrderID) - based on CustomerID)
On the FormView there is a key field (CustomerID) (this is to be used as an INPUT parameter to a SP - which is to return the SUM of all the customers (Order_Totals). I could nest a view within a view I suppose to get this result, however, I just want a label to simply show this ScalarValue.
Basically, I want the label to show the aggregate (SUM) total amount each customer has spent on all orders. I have a SP called SumCost with two Fields (one a grouped by field CustomerID and the other a Summed Total of each customer's orders SumCost)
SELECT [SumCost] FROM [SumCost] WHERE ([CustomerID] = @CustomerID)
I test my SP and it works great, returning the value based on CustomerID - no problem.
My problem is getting the CustomerID passed into the SP on runtime (do I put it in FormView2_Databound) and putting the value into the label (CustTotalLbl) which is inside this form.
View 3 Replies
Apr 24, 2010
I'm using an edittemplate to handle both editing and inserting for a Formview. In Insert mode, the Identity parameter is not needed (and cannot be used in the parameter list). In Edit mode, I need the bound value to know which record to update. So, what I tried to do is set the Text property in the OnDataBinding method.
[Code]....
The result is that the field is bound for Insert anyway, shows up as a parameter, and my insert statement fails (since this extra field messes up the field order of the parameters). Plus, it is always null in Insert mode by definition.
Is the OnDataBinding method too late to clear the property? If so, where can I do this, since PageLoad is too early (the template has not loaded yet and I cannot Findcontrol the field. Or is there a better way to handle all this?
View 7 Replies
Sep 29, 2010
Okay, here's something that I could easily do the hard way and manually wire up each form element and save it to a datatable in memory, but there has to be a more efficient way to do it.
Here's what I have:
1. A strongly typed datatable and tableadapter in a XSD name Orders
2. A formview control which currently is connected to an ODS connected to the Orders tableadapter, this makes it easy to wire up the databindings for each form field in design view
I would like to:
- bind the the formview to an instance of the strongly typed datatable, and then save the dt to a session object without interacting with the actual database
- load forms on subsequent pages from the dt in session
- ultimately save the dt info to an actual database table on the third page
I've read some solutions where a custom class is created, but to me this seems like almost as much work as wiring up the form field to the table columns manually in code.
View 1 Replies
Jul 9, 2010
I am trying to bind my ddl from behind using my formview when edit is clicked on the formview. how to do that and what event handler on VB.
View 5 Replies
Apr 17, 2010
I want to display and update user profile using FormView control. But I dont know exactly how to do this.
I am using custom providers for Roles, Membership and Profile. Everything is working fine.
View 1 Replies
Apr 3, 2010
I have the follow form view:
<asp:FormView
DefaultMode="Edit"
ID="FormView1"
runat="server"
onitemupdating="FormView1_ItemUpdating">
<EditItemTemplate>
<asp:TextBox
ID="txtPrimerNombreNatural"
runat="server"
SkinID="texto"
MaxLength="30"
Text='<%#Bind("PrimerNombre") %>'></asp:TextBox>
<asp:TextBox
ID="txtSegundoNombreNatural"
runat="server"
SkinID="texto"
MaxLength="30"
Text='<%#Bind("SegundoNombre") %>'></asp:TextBox>
</EditItemTemplate>
</asp:FormView>
<asp:Button
ID="Actualizar"
runat="server"
Text="Button"
CommandName="Update"
/>
This formview is bound in this way:
protected void Page_Load(object sender,
EventArgs e)
{
Persona _persona =
new
Persona();
_persona.ObternerPersonaByUserIdApp(1);
List<SILPA.AccesoDatos.Generico.PersonaIdentity> persona =
new
List<SILPA.AccesoDatos.Generico.PersonaIdentity>();
persona.Add(_persona.Identity);
FormView1.DataSource = persona;
FormView1.DataBind();
}
When the page is shown, the textbox are filled correctly, this textbox are filled with the "primernombre" and "segundonombre" properties from the persona class. After this, If I change the textbox, and after click the update button, I need to update the persona class with the changes from the textboxes, then I call a ActualizarPersona method for updating the database. How can I do for update the persona class when I change the textboxes and click the update button? I try this method protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs
e)
{
}
View 1 Replies
Mar 12, 2010
Below is a line I have in my ItemTemplate of a FormView. The value in the table is null rather than true/false. Is there any way I can set the default for this to be false if it is null? Or can I do this in my stored procedure in the Select statement to return false if null?
Code:
<asp:CheckBox ID="chkCharges" runat="server" Checked='<%# Bind("MCOverrideCharges") %>'
Text="Yes" Enabled = "False" />
View 2 Replies