C# - Use Multiple Objectdatasource In Detailsview?
Nov 14, 2011Just want to ask, can we use multiple objectdatasource in detailsview?
Example, i have 2 different tables with same fields.
Insert, Update much work properly.
Just want to ask, can we use multiple objectdatasource in detailsview?
Example, i have 2 different tables with same fields.
Insert, Update much work properly.
Original project is VB, but did other testing in Web Developer.Essentially, when a project is compiled as x64 in the ".inx64" directory, "Choose a Business Object" ends up being empty.My workaround was to go into the project's properties and change the compile directory from ".inx64" to just ".in".
View 4 RepliesI am trying to add a parameter to the deleting event of an ObjectDataSource as in the example below from msdn. I generated an event handler for the ObjectDataSource's deleting event, and it had the same signature as in the example, however, when I try to clear the paramsFromPage as in the example, I receive an error stating that
View 1 RepliesI just wonder if it is possible to simply check if the objectdatasource.select() returns any rows?e.g.
If ObjectDataSourceM.Select().GetEnumerator Is Nothing Then
'..
End If
I am using VS 2010 web application projects
I have an object datasource connetced to a custom object. The data from objectdatasource is displayed
in the Formview. When i try to do the Update. It sends me two empty objects of the class.
This is my objectdatasource
<asp:ObjectDataSource ID="obj1" runat="server" SelectMethod="GetValues"
TypeName="CustomDAL" ConflictDetection="CompareAllValues"
UpdateMethod="Edit" OldValuesParameterFormatString="old_{0}"
[Code].....
I have a form with:
[Code]...
Whenever I change the value of MyTextBox and press MySubmitButton, the select method of MyObjectDataSource is invoked and everything works OK. But if I change the value of any of my check boxes (without changing the value of MyTextBox) and press MySubmitButton, the select method is not invoked, thus the "MyObjectDataSource_Selecting" event doesn't take place and I get the same results as before.
One way I found to work around this was to explicitly invoke MyGridView.DataBind method whenever MySubmitButton was clicked. Is this the best way to handle these type of parameters? What I am afraid is that this may cause the select method to be called twice making the page slower.
building a ASP.NET profile wrapper to use with an ObjectDataSource control. I would like to have the serialized profile data that I have defined in web.config be accessible via a FormView control within a user control. I'd like the users to be able to view and update their profile data. I have part of the code but am lacking the experience to complete it. I'm using a aspx page with some text boxes and having users update via a simple form now but I need something more reusable and efficient, not to mention moving the logic to a middle tier. I see that the ObjectDataSource control has some intrinsic ability to view profile common data but that seems to be limited.
Namespace SiteMemberShip
Public Class ProfileWrapper
Private FirstName As String
Private MiddleName As String
[code]....
I am building a three tierd app, and therefore have all my data access methods in a class by itself.This class only calls stored procedures, basically, I need to pass in the following:
1) stored procedure name as string
2) parameters as IDataParameter() -- an array of parameters
3) other fields ( not important to this discussion)
If I use a GridView on my web form and choose an ObjectDataSourceObjectDataSource, and then choose my business object and method, since the method is a call to a stored procedure with a parameter array, I don't know how to pass it values in the IDataParameter format.The Method Signature listed on the wizard is "RunSP(String spname, IDataParameter[] params), returns SqlDataReader" which basically is calling a method called RunSP with two parameters, of which the second parameter is a parameter array for a stored proc.
If I have an ObjectDataSource setup like:
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server" [code].....
How do I get the objectdatasource to use the Delete method with the parameter that is not an Employee object? what is the recommended alternative architecture?
Edit:
To clarify, I want to use the method signature on my data/business object as shown above, however if I try to allow an Employee object to be passed into some of the methods using DataObjectTypeName, then I seemingly lose the ability to have some methods take just an integer id for instance.If I do not use the DataObjectTypeName, then I have to place all the method parameters in the ObjectDataSource and change the methods on the data/business object to match, this seems like a bad design choice because as the Employee object changes I will have to update each of these methods.
I have to maintain an ASP.net application in VB.Net.There is a page with a FormView bound to a ObjectDataSource.I have to add some business logic on the ItemUpdating event of this FormView.Unfortunately, some the data that I need to add this business logic is not exposed on the FormView user-interface itself, so I can not use FindControl to get the values (I could add the controls, bind them to the fields I need and set their visible property to true, but that's ugly).
View 2 Repliesi have to list views A,and B listview B is inside listview A. i want to pass some parameters from Listview A to Listview B's ObjectDataSource.
View 1 RepliesI have a DetailsView that looks just about perfect. The only thing is, there is one field that actually gets its information from another table. It is an ID field that is linked to another table in the database and I was hoping that there was some way to get that one field in the DetailsView to pull the information from the other table.
Is there a way to maybe add a + (plus sign) next to the PicklistID and then have it show the results of the other query? (SELECT TEXT FROM PICKLIST WHERE PicklistID = @PicklistID???)
UPDATE 1/11/12: The PICKLISTID in the table PICKLIST is not unique or a primary key so I cannot reference it from the SURVEY table. Is there a way to give these 2 columns a relationship so that I can just change my SELECT statement in my DetailsView to include the PICKLISTID?
UPDATE 1/23/12: I'm still stuck on this. I am not getting how to make this work at all.
[Code]...
I have the following code in my codebehind Page_Load function that sets the default selected value of a dropdownlist in detailsview based on the name of a record returned from a sql data query.Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
[Code]...
I have two dropdown within a DetailsView and I want to work in cascade, the idea is that an area contains various issues and these issues depend on the selected area, but I get the following error: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
[Code]....
I have a DetailsView1 control that is databound in many fields but also has fields that I prepopulate upon loading the page for the first time. Example being fields named ROW, FLAG, PRINTED. The user can then input data into the other fields Like FIRST NAME, LAST NAME, COMMENTS and press INSERT. I should also mention that these fields are templatefields.
<asp:TemplateFieldHeaderText="Row"SortExpression="Row"><InsertItemTemplate>
<asp:TextBoxID="TextBox1"runat="server"Text='<%#Bind("Row")
%>'></asp:TextBox>
[code]....
Then the insert of the data begins and creates a SQL record. This works as designed the first time thru.The problem begins when I try to populate the same fields for the next record using the same logic that I used the first time but the fields will not come to the screen populated the second time. What do I need to do in order to get the fields in the DataView1 to be populated after the first INSERT command has cycled thru its process?
In this project that I'm creating, I'm creating a mock-up of a page that uses a DetailView (something I saw in a blog) that seems to fit my needs. However, I don't want the data to be bound to anything.So, I added the control and then I started adding the appropriate mock-up columns to it and tried to render the control on the test page. Where the HTML that ASP.NET should generate is nothing.Here's my code (there's a 'real' DetailsView control, then a button and then a blank testing Details view control):
[Code]...
I'm attempting to reference the text from a label in a DetailsView in my CodeBehind, then pass it through a Stored Procedure.My DetailsView is DetailsView1, and the two fields are lblDialID & lblCallbackID. I've converted them to TemplateFields. The data is populating properly, but when I'm attempting to grab the data and pass it, I'm not getting any results.The Stored Procedure is not performing it's action, and a Response.Write on the variables does not produce any results so assumedly I'm just grabbing thin air :)
[code]...
Could this also be because I am passing a string, but the SP is taking it as an INT? This shouldn't pose a problem though?
When using a scanner to insert into a detailsview the scanner scans and then presses enter. How do I either redirect the enter to be a tab, or just stop the enter key from triggering the insert method?
View 1 RepliesI have developped a usercontrol, but I can't seem to find how to databind on a property of the usercontrol in a detailsview.[code]
View 1 RepliesI have a DetailsView Control but need help with binding, updating and inserting hookup. My code below does not bind and open my DetailsView as I expect it to (either in Edit or insert mode when my page loads.[code]
View 1 RepliesIm trying to do bind a dropdown list to a details view but keep getting an error about the dropdown list ID field:
<asp:TemplateField HeaderText="Approval">
<ItemTemplate>
<asp:DropDownList ID="Approved" runat="server" DataValueField="Approved" SelectedValue='<%#Bind("Approved") %>'>
<asp:ListItem Text="Approved" Value="Approved" />
[code]....
The error message as follows:
'Approved' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value
What is the proper way to attach the value of the dropdownlist to my object so that it can be properly created in the database? Most of my searches keep telling me how to bind a dropdownlist to an object data source, but that is not what I need to do. This is a basic drop down list of 2 items that will never change.
When in insert mode detailsview, there are some parameters that I would like to disable or hide. The columns are autogenerated.
Doesn't work:
DetailsView3.Rows(5).Visible = False
or
[code].....
I'm trying to design a detailsView form which contains [classes] --< [studentClasses] >-- [students] tables. There is a many to many relationship between [classes] and [students] through the third table [studentClasses]. I want to design the detailsView of [classes] such as that all [students] will be listed in a listbox but related students that take the class will be highlighted. And when I select/deselect students from the listbox and save I want the changes to be saved to respective tables.
View 2 RepliesBackground: I have a GridView which gets populated from an SqlDataSource via DataSourceID. The rows show some summary data from an SQL View. Upon clicking a row, I would like to take my user to another page with a DetailsView control which gets populated with the full set of values from the DB related to the row clicked. My user should be able to edit the data, download files associated with the record, and create a new record of a different type based on said data.
Error: All examples that I've found for Clickable GridView rows end up with some variation of the error Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.
[Code]...
I've got a DetailsView which has some static fields defined in my markup and adds some extra fields dynamically in the VB codebehind. It should be noted that the DetailsView lives in an UpdatePanel.Assume that I would like to get inventory information for a number of warehouses, but I only want to see those which have stock on hand. In addition I have some static information such as product, sku, etc.
The problem I was having was that every time I clicked the "Details" button it would just keep appending the dynamic fields to the end and never re-rendering the table. I figure I either need a conditional or to tell it to re-render somehow. I suspect this problem arises from my use of the UpdatePanel but it's important for the user experience of my customer to keep this.
'Warehouse Stock by Location
Dim stockDT As New DataTable
For Each row As DataRow In stockDT.Rows 'Add column for each Warehouse that has stock
[code]....
I'm trying to populate a date from a bound text field in a DetailsView. I keep getting a error when a DBNull is in the column. How do I avoid the DBNull when populating the text field.
My code is as follows:
<asp:TemplateField HeaderText="CBYD Clear Date">
<EditItemTemplate>
<asp:TextBox ID="CBYDExpDate" runat="server" ReadOnly="true" Text='<%# IIf(Eval("CBYDDate") is DBNull.Value,"", String.Format("{0:MM/dd/yyyy}", Eval("CBYDDate").AddDays(30)))%>' />
</EditItemTemplate> </asp:TemplateField>
I'm simply databinding the data (containing date values) I got with a DataReader as in the following code:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim id As Integer = Request.QueryString("id")
'Start connection
[code]....
I need to be able to hide 2 options that are displayed from my dynamic bulletedlist (which is built inside of a DetailsView). Every time I try writing a loop through the BulletedList, I get an error saying that it is not a collection type, so I thought I could loop through the DetailsView to find the items I want to hide.
I can't change the SQL because this particular bulleted list gets used on 2 different pages, it's just that on one, I only need to show 2 of the 4 items that are associated with the ID.[code]...
I have a DetailsView which has two fields - one that is visible, one that is not. The first the user fills out, the second I want to auto-populate. Unfortunately, I haven't been able to find a way to set the value in this second invisible field. I've tried adding code like this to the Page_Load:
If Not IsPostBack Then
DetailsView1.DefaultMode = DetailsViewMode.Insert
Dim txt1 As TextBox = DirectCast(DetailsView1.FindControl("Type"), TextBox)
txt1.Text = "administrator"
End If
But this returns an error of "Object reference not set to an instance of an object." Any ideas on how to accomplish this - either using the method above or another method?The hoped for end result is that when a new record is inserted via the DetailsView that this record will include the username (entered by the user) as well as the "type" of "administrator"
For example lets say I want only admins to be able to see and edit CustomerID in details view, moderators can see this value but it is not editable, and regular users cannot even see it.
View 2 Replies