Forms Data Controls :: Build Gridview Dynamically - Multiple Tables?
Jun 29, 2010
I have a .NET 1 web app that is using a Oracle database, the web app has a page of table names that allows the users to select, there are 101 tables listed on the page. When the user clicks on a table name, it takes them to a page that shows user friendly column headers, the table data, etc. Is there a way to use one GridView to do this and show the user friendly column headers instead of creating 101 pages or 101 user controls and show that control based on the table passed into the page?
for example: the user clicks table 22, I want my gridview to look like this
Buyer's Name State City Zip Code Phone Number
if they click table 55 I want them to see this
Product Wholesale Price MSRP Sale Price On Sale (check box)
and so I, I would like to use 1 gridview on one page if possible and build the grid on the "fly", We have the user friendly column headers in a table.
So my questions are:
is this possible, if so, what is the best approach in doing this
from a scalabilty level and maintenance level, would the 1 gridview be worth for all 101 (and growing tables), or would building a seperate user control for each table be better?
I have been trying to make this work for a while, but I have not been yet able to figure this put. I am using VS 2008 and mysql database. I wrote a query and checked to see if it works in database. It does.
I have a gridview, whose select command is that query. But for some reason, I just get all the rows from one table only. I rechecked my datasource and it is ok. I read on some discussions that it is NOT possible to have data from two tables in a gridview. Is that true? If that is not true, how can I have data from multiple tables in a gridview? Or any other web control for that matter.
I am trying to build a repeater dynamically through the code behind. I found this code on the microsoft site:
Protected Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Repeater1.HeaderTemplate = New MyTemplate(ListItemType.Header) Repeater1.ItemTemplate = New MyTemplate(ListItemType.Item) Repeater1.AlternatingItemTemplate = _ New MyTemplate(ListItemType.AlternatingItem) Repeater1.FooterTemplate = New MyTemplate(ListItemType.Footer) Repeater1.DataSource = New String() {"one", "two", "three", "four"}
[Code]....
So this code works without throwing any exceptions, but what I would like to do is accessing the DataSource inside of Sub InstantiateIn(). I know you can access the DataSource in the front end using DataBinder.Eval and Container.DataItem, but is there a way to access the data during the InstantiateIn() Sub?
Or if there is another way to do this i'm up for trying that as well. Essentially I am trying to avoid writing asp.net code, instead I would rather write everything in vb (code-behind)
I follow this code [URL] it works. But the example is show only for 1 row.. come to my case when user want 12 rows for the first time gridview row load. I manage to add it by using for loop. but i stuck at the how to set previous data when user add new row to 13th row. The gridview seems like refresh and the entered data is gone!
I have a asp:DetailsView control with the first column are the field headers and the second column is the record details for a given user.
The DetailsView is bound from 4 tables, I need to be able to edit/amend any field. Is there another way I can achieve this from the DetailsView? Would I need to create templates for each table entry then Update SET on each template, would that do it?
One:Table Name Rider With columns RiderID,LName,City
Two:Table Name Car With columns CarID,RiderID,Color
What I would like to be able to do is to allow the users to do an UPDATE on both tables.
Like if you crreated a SQLDataSource using just one table as it's source. You can use that SQLDataSource for a gridview.
Then in the gridview you can display all the data from the table but you can also EDIT all the data in the table through the gridview.
But if I create a SQLDataSource using 2 table joining them together with an INNER JOIN with a Primary Key in one table and a Foriegn Key in the other table. I can still use this SQLDataSource with a GridView to display the data but I can't EDIT the data through the gridview for the 2 tables.
Is there anyway to do this using a SQLDataSource and GridView?
i m trying to bind my both grid with two tables which are in dataset i m trying but when i m binding my gridview it's always binding the second table see code
[Code]....
i already tried to bind both the gv1 and gv2 they both are displaying same table i.e department
i would like to find out how to go about displaying data from multiple database tables on the same page. What i mean is it would look like the feeds on the facebook home page where you can see the information like newply uploaded photo or a new post.
I have two tables, and i want to display any newly created row on my home page from either table in the same control. Currently, i have two gridviews, but i want the data from both tables be displayed together.
I have a listview that shows the user the details of the members who have sent friendship request. The table from which the data come has two fields namely, sender_id[id of the one who sends friendship request] and receiver_id[id of the one to whom the request is sent].
There will be two columns in the listview. The first would show the pic and the name of the user. The problem is that how am I going to show the pic and the name if the table from where the data come does not contain these info. I know that the sender_id can be used to fetch the pic and name of the sender, but how should it be done?
Earlier I would do something like <%#Eval("fieldName")%>. But in the above described scenario the field is not present in the current table but the other one.
I'm using Visual Studio 2008 with SQL Server Express databases in my .net 3.5 website
I have three tables I'd like to make entries to when the user completes a wizrd i've setup on a web form.
The First Step - The user enters basic information about their "Case". The table looks like so:
db_Cases - CaseId PK auto int, CustomerId, etc fields
The Second Step - The user enters information about the "Debtors" that are related to this "Case". Think of this as being products....The only difference is these records wont be used over and over again like a product would. The user may need to enter data about several "Debtors", just like if you needed to show several different products on an invoice. For example the user may need to enter information about a husband and wife. This means two entries in the "Debtors" table. The table looks like so:
db_Debtors - DebtorId PK auto int, etc fields
The Third Step - Here's my problem. This step needs to make entries into a third table called "CaseDetails". Again, this is just like if you were creating an invoice with several different products on it, where you would want to get a subtotal of each product's cost. The table looks like so:
db_CaseDetails - CaseDeatailId PK auto int, CaseId int, DebtorId, int
* When this table is later viewed, It will reflect all "Debtors" attached to the specific "Case" being viewed.
The first two steps aren't a problem, I pretty well have that handled in the wizard. BUT How do I create the entries in the "CaseDetails" table when the user finishes?
My idea right now is..... Considering the "Debtors" will be re-used but only on rare occations, I'm thinking I should just add the "CaseId" that was created in step one, to the "Debtors" table at the same time the "Debtor" is created. So the table would look like so.
I have a question regarding a situation that occurs with GridView, ObjectDataSource in ASP .NET application. The GridView is linked to the ObjectDataSource and both are included within an UpdatePanel letting the GridView to fill in an asynchronous way from a form in the same page so it gets more rows as the user enters the data:
I start the project with Visual Studio 2008, fill the form and it works correctly. Then I stop the execution: rerun again and the data I entered in the previous run is in the GridView. Is like some sort of cache saved the data from the session before. I checked that EnableCaching property is set to false for the ObjectDataSource. If I Rebuild Web Site in Visual Studio (not just Build) then it works corretly leaving the GridView empty. Is this caused just becuase of Visual Studio? Can it be turned off? And will it happen in the final IIS it will run on?
I have hard time trying to find the solution to retrieve data from multiple tables in one database.
table Kategorije has fields: idKategorija, naziv, opis table Clanak has fields: idClanak, idKategorija, naslov, autor,...
Kategorije.idKategorijais joined with Clanak.idKategorija, but that isn't the solution because I want my web site to show the Kategorije.naziv instead of Kategorije.idKategorija. This is the code I'm currently using to get idKategorije shown on my web site:
I am writting a directory website that advertises fitness classes. These classes are listed by Class Type, and Geographical Area. Each Class Type can satisfy one or more of four Fitness Goals such as Loose Weight etc...
I have a table for Classes (classid, classname, classdesc, classtypeid, geoareaid) I have a table for geographic areas (geoareaid, geoarea) And I have a table for ClassTypes (classtypeid, classtypename, classtypedesc)
Which obviously links geographic area via the classes.geoareaid as a forgien key and classtypes by classes.classtypeid as a forgien key.
I can list all classes by type and also by geo area no problem, the problem arrises when I then also want to filter by goal.
The Goals Table (goalid, goal, goaldesc) is linked to the classtypes table via another table classtypes_goals (classtypeid, goalid) as each classtype can satisfy any of the 4 goals.
I am using a DataSet to fetch the data from a Stored Procedure in the SQL Database but because the classtypes can be linked to multiple goals I am getting duplication in my list depending on how many goals a classtype satisfies.
All I need in my data list is class name, class type and area I don't even need to display the goal I just want a drop down above the table that will filter the list and show only classes of classtype that satisfy the goal chosen.
I'm looking for ideas on deleting data from the multiple SQL tables with LINQ (C#).
My existing solution does the following:
1. DeleteAllOnSubmit( Subset of the data from the child table)
2. DeleteAllOnSubmit( Subset of the data from another child table)
3. DeleteAllOnSubmit( Data from the parent table)
4. CommitChanges()
All this resides within a single method, which makes it ugly and not re-usable.
I have considered the following alternatives, but I decided not to use them:
1. Cascade delete on the tables.
2. Do a join on all tables from which I will remove the data, but I'm not sure yet whether I could pass a join query to DeleteAllOnSubmit().
3. Write stored procedure(s) to delete data from each table. I don't have the time to implement this due to a large number of tables and the time constraints.
i have a details table which include detailid, custname, address, classification , pincode, telephone, remarks and classification table contain classification id & classification.i want to insert detailid & corresponding classificationid to a new table detail_classification. How to write stored procedure for that?
After creating a dataset, which has CRUD statements generated two or more tables, which Data Control should I use that will allow me to insert data into fields into 2 or more tables from a single web form. I'm trying to create a web form that will allow the user to input student information, such as general information, medical information, etc.
I have a report which is runnin fine as it is using singe table Dataset(.xsd) . I want to expand the report and use more tables in it to show more information .
How can I do so. I am attaching my present code with this.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim stdate, enddate As Date Dim sql As String start_date.Text = Session("startdate") end_date.Text = Session("endate") Dim dt As DateTime = DateTime.Parse(start_date.Text, System.Globalization.CultureInfo.GetCultureInfo("en-gb"))