Forms Data Controls :: Formview Force Table Width In Templates?
Mar 29, 2010
to force a table width in Formview control templates? I have created a table in the ItemTemplate that works fine but I can't seem to get the table to fill the entire width of the display area. I tried wrapping the entire FormView
in a div tag and setting the width to 98% but it didn't work either. Aplogies in advance if this has already been asked. I found a lot of references to GirdView (which didn't help) and nothing helpful r/e FormView except the div tag suggestion.
Here is the code I am using for the ItemTemplate (VS 2008, VB [preferred], in a master page):
This is probably a dumb question, but I have to ask because I spend so much time editing my formviews and listviews. Is there a way to edit the default template setup for these controls, in the code or somewhere? When you drag them over you get the default text with textbox column names; then I spend over 30 mins editing each to look the way I want it to.
I know I can create standard templates for WebForms and save them as Exported Templates.
And is it possible to edit the default control when you drag them on to the page, to list certain attributes automatically. example (validation controls you always have to add ControltoValidate I would like to drag mine onto the page and it say controltovalidate="" and then all I do is fill in the blank. Intellisense is fine, but sometimes you get brain freeze after hours of web design and forget the needed attribute and you have all to go through all of the errors and mistakes.
The ultimate would be, to drag a FormView Control and when you Refresh the Schema, you get textboxes, label controls instead of text for column name, and divs for forms, and Image Buttons , I am sure there is an XML file that runs the code that you can edit or something.
OR
ASP Developers, When you develop the next ServicePack allow us to edit or create default templates to customize the default templates, in VS and VWD.
I am using a formview on main web page and the Item template displays my data correctly but I get and error when I try and link to the edit or insert templates.This happens on our remote tesing server only.On my local machine running the page on the local server in VS 2010 everything works fine.But then doesn't it always work on your local machine.I might also mention that I am compiling for asp.net 4.0. Here is the stack trace :
System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'MYCORPABIGWEB01$'. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
I have a FormView with an EditTemplate.And the EditTemplate contains an ascx control:
<asp:FormView ID="fvTicketUpdate" runat="server"
[code]...
The contents of the ascx control has TextBox and DropDownList controls binding to the results of the FormView's ObjectDataSource through Text='<%# Eval("field1") %>'and SelectedValue='<%# Eval("field2") %>'.This works fine and I have been building all of my front end pieces like this as <asp:Panels> rendering as FieldSets that go 100% across the screen.And we call these areas "strips" accross the screen.But now I've run into a problem.One TextBox and one DropDown bind fine to a Ticket Object.But the DropDownList that works has its <asp:ListItems> hardcoded before hand.Now I have DropDownList that gets populated through a WebService in the ascx's code behind like this:
public partial class UserControls_FormControls_PntipUpdtFaaInfo : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack)
[code]...
The Problem I think is the FormView is trying to do its Bind to the objectDataSource before its child ascx control is loaded in the Edit Template.And I am getting this error:
Databinding methods such as Eval(),XPath(),and Bind() can only be used in the context of a databound control.Meaning that the control must already be databound to bind the selectedValue to a Property of the TicketObject.Is there an easy way to force the order of loading to make the PntipUpdtFaaInfo control load and have its Page_Load execute and bind ddlEquip before the FormView does its first dataBind and executing its Evals?Otherwise I have to take out the eval on the ddlEquip SelectedValue attribute and go to the Parent Page and hack and force everything to happen when it needs to.This layout has worked out well for me.All of the ascx area strips across the screen share the same Validation Summary for example.It allows me to think about one section at a time and the Properties to the Business Obect and CRUD methods as I go.But this is a big brick wall I've hit.
i am using two tables for salary components like bonus,hra,ta,da.one is salary lookup table for viewing which components are chosen and according to this salary table is created dynamically.i want to view data fields of salary table in gridview and update thier value.
now problem is that how to create template field and edit template field for updating fields of salary table because field of the salary table changing every time as it is creating dynamically.
I find the repetition of sets of controls for each of the EditItemTemplate, InsertItemTemplate, and ItemTemplate templates of a FormView to be tedious and risky, in terms duplicating layout and code etc. I would much rather create a xxxDetails user control, and use this in each template, cutting layout and code location down to one location.
However, this introduces several complexities for data binding scenarios. Are there any extablished patterns or practice guides for using user controls in these scenarios?
what I have to add/subtract from the following listview to change the table and column width. All my attemps like the style="width: 50%" have no effect.
I have an asp:Table. Its with is 100%. This table has only one row but 6 columns. The width of first 5 column is fixed at 150px. The last one does not have its Width specified and so it takes up the rest. The whole row has a background. If any of the first 5 column is clicked, the background of that cell is changed to white.In my development computer, the last column has about 250px. Yet in user computer, as the monitor has a smaller resolution, the last column has only 30px or so. User complains it is ugly and wish to merge the last column with the previous one. How to do so?
I just wanted to know if there is any way to dynamically set the width of a column inside a table within a datalist based on the length of the text fetched from the database.I am inserting my code.
I have a formview with insert function into "table1". In that formview i also have a dropdownlist listed with records from "table2". (This dropdown is of course instead of a textbox). get "table1" inserted when one of the field is from a different table?
I'm joining 2 tables and using the formview. When I insert a record, I need to place the value of the max id + 1 of the second table in a field in the first table so that the tables are linked. I'm not sure where to put the value. I try to put it in the insert command and I've tried the select command but that doesn't work.
Table 1 - Product: ID, ProductNum, Brand, Description Table2 - Brand: ID, BrandName (Brand from Table1 is linked to ID from Table 2) <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" DeleteCommand="DELETE FROM [Product] ..." InsertCommand="INSERT INTO [Product] ([productNum], [Brand] VALUES (@productNum, @Brand)" SelectCommand="SELECT Product.ID, Product.Brand, Product.Description, Brand.ID, Brand.BrandName From Product INNER JOIN Brand ON Product.Brand= Brand.ID" UpdateCommand="UPDATE [Product] SET [productNum] = @productNum, [Brand] = @Brand ......"
I have a dropdown list in a gridview field. The DataValueField for the ddl is an 8 digit item code. The text to display through will be quite longer, 40-60 characters because it will combine the item code and item name into a single string. I don't want the dropdownlist field to be that wide though, only what is displayed when the ddl is selected.In Access you can set the width property of the list to display wider than the field itself. Is there that capability in ASP.NET and if so where do I find it?
Is there any way to set the width of a GridView to a pre-determined width?
I have set the width of the gridview and all the columns to a % and then to a number of pixels but it does work. The gridview always sets itself to a width required to display all fields and it goes beyond the resolution of the screen. I would like to contain it to 1024 pixels.
I have a dropdownlist that pulls from a datasource. When a name is selected all information drops down to a formview. Once there 3 fields get populated from the dropdownlist and then there is 2 other fields that need user input. Once they hit submit, it should write to a different table in the same DB. I cannot get the fields to populate and write to the DB. Here is my code:
I understand that only one FormView template is rendered at any given time, so is it ever a problem to reuse child control IDs?For example, the insert and edit templates are identical in this FormView, each has a TextBox in which a user may enter their name. Would it be a problem (or a bad idea) to give both text boxes the ID "NameTextBox"?Better yet, is there a way I can create a single template that is used in both insert and edit modes? With the same code-behind, event handlers, etc? I found a forum thread somewhere that suggested creating a web user control to use in both insert and edit modes - is this typical?
I use the FormView control quite a bit, but I wish I had more control over the default templates.
When I drag a FormView from the toolbox onto my page and point it to a DataSource control it prepopulates the ItemTemplate, EditItemTemplate and InsertItemTemplates, but it doesn't do it very well.
For example, the InsertItemTemplate looks like this by default:
I know I can use a DetailsView to get a table rendered out, but I end up modifying the form so much that I prefer to use the FormView. It's just that I would like Visual Studio to start me out a bit closer to where I want to end up.
I would imagine that there is a T4 template somewhere in the guts of VS that I might be able to modify to get this done.
I have a table in my database called "Profiles". This holds data on Female and Male personal characteristics.On my aspx, I have a formview in edit mode which is binded to an object data source with a GetDataByUserId Select methodwhich retrieves data from the "Profiles" Table via a DAL.The "Profiles" table has some columns which relates to females only and some just males and some are generic to both.See example below
UserId - / of Type GUID GenreId / of Type BOOL. Hip Size (For females) Dress Size ( For Females) ChestSize (For Men ) TrouserSize (For Men) Weight ( For both )
When the User logs in , they go to an update Page which has the Formview in Edit Item Mode and contains drop down Lists whichare binded to the Users Selected Value. The DDL are in turn bound to their related table such as HIP, Dress, Chest, Trouser etc.bjectiveIf a female user logs in I just want to show them the (Hip Size) DDL and DressSizeDDL in the Edit item template of the formview and not the ChestSize DDL or TrouserSize DDL.At present the GetProfileByUserId returns all colums from the tableMy question is how do I do this and just show DDL which are relevant to the Female or Male Only. In some cases the usermay not have selected an item in the previous form so they could also be NULL.Am i on the right path by writing a Select Query that checks to see if the User is Male or Female by checking the Genre column in Profiles first.Do I also need 2 panels, 1 to hide Female DDLS and the other to Hide MaleDDLs subject to logged in user genre.
i want to adjust image height and width in formview.. some images are tooo big and some are to small ...so i want if images are tooo small then they should be display in original size
I have a textbox within a formview that is binded to some data. The only problem is that the size keeps changing if the page is zoomed or screen size is changed.
Is there any way to set the the textbox to utilise the enitre width of a page regardless of zoom or screen size as currently on 75% zoom it remains about half way however on 100% zoom it fills the entire screen.
Let's say I have an abstract class IA, with subclasses A1, A2, A3.For each subclass, I had a page with a FormView to insert/edit/view, with code specific to that class. The templates for insert/edit/view are all very similar, so it was mostly cut & paste, and the compiler had no problem that there were controls with the same IDs in the different templates.Something like this:
I am doing a management system . What i am trying to accomplish is that when a user fill form relevant to management system the data should go into respective tables.How to accomplish this.I am using primary keys and foreign keys