Forms Data Controls :: Webform Grid Control With Varying Columns
Oct 7, 2010
I am trying to create a recipe system that will pull material amounts from an already built inventory database upon request for testing purposes of the different recipe runs. What is throwing me for a loop is that each time a user will request a recipe comparison they will have a different number of recipe trial runs for comparison purposes. In order to do this I'm guessing you will need to generate a gridview-like control with a dynamic number of columns which would be specified on a web form page prior to arriving at the recipe formulation page which will contain the control for the recipe formulation. As a result the user will have different columns and rows on this formulation page, with the rows being a static number of 30 (30 being maximum amount of ingredients to include in each recipe). The columns will contain the recipes to be compared, i.e. ProductRun1, ProductRun2, ProductRun3, where the number of ProductRunX will be determined by user input. So the user when they come to this aspx page will be presented with a blank editable grid of X columns by 30 rows deep. The left-most column will contain the ingredient names in a drop down box for users to select to input into their recipe and the rest of the columns will be editable fields where the user can type in the amount of each material to be used. The setup will look roughly like this:
So my question is how would I go about tackling something like this and what controls would I use. All of the forum posts around the internet show the GridView control being tied to data in a database already and not having the ability to have a fully blank and editable table upon the page loading so that it can accept user input. Another wrench into the situation is that the column numbers can vary. What control would be used in this situation or would it be better to use just a repeater of textboxes to build this type of control? Another thing is once the control is built how can you pull the data from such a control with the intentions of entering it inside a sql server database?
I am upgrading a classic asp page, the page uses response.write to make a table, as soon as a null value comes up for a month the columns of the grid then stop. The sql is below
SELECT sName, Strategy, Sum(case when Month([Date])=1 then Rtn else null end) as Jan, Sum(case when Month([Date])=2 then Rtn else null end) as Feb, Sum(case when Month([Date])=3 then Rtn else null end) as Mar, Sum(case when Month([Date])=4 then Rtn else null end) as Apr, Sum(case when Month([Date])=5 then Rtn else null end) as May, Sum(case when Month([Date])=6 then Rtn else null end) as Jun, Sum(case when Month([Date])=7 then Rtn else null end) as Jul, Sum(case when Month([Date])=8 then Rtn else null end) as Aug, Sum(case when Month([Date])=9 then Rtn else null end) as Sep, Sum(case when Month([Date])=10 then Rtn else null end) as Oct, Sum(case when Month([Date])=11 then Rtn else null end) as Nov, Sum(case when Month([Date])=12 then Rtn else null end) as Dec FROM Chess
If this is run in oct i only have data from jan -0ct , how do i not display nov and dec so that its dynamic?
I created a gridview that is made up of 4 gridviews and using a stored procedure to populate it. I create columns at runtime because the number of columns changes all the time.To make the grids editable I am adding template fields at runtime as I create the columns, this is to ensure that a user is able to edit the cells and some foot values update. Reason why I have four grids is to freeze rows and columns like in excel using javascript. The problem is that performance is very bad especially in IE, the grids take a long time to load. I am not sure if this is caused by the data load or the creation of text boxes. see some of the code below for my _aspx page:
I have a RSS feed i need to display in a table (its clothes from a webshop system). The images in the RSS vary in width and height and I want to make a table that shows them all. First off i would be happy just to show all of the items in 3 columns, but further down the road i need to be able to specify through a parameter the amount of columns in my table. I run into a problem showing the tr tag, and making it right, this is my Code so far:
In RSS all "item" tags are on the same level in the xml, and thus far i need only the title shows. Thr problem seems to be that i need to specify the start tag as well as the end tag of the tr element, and cant get all 3 elements into it, anyone know how to do this?
I have a gridview that has the following colums Category, Weight , and an option to delete row. I user would like to be able to highlight two columns in excel Category, Weight and then past them from clipboard to gridview.
I have this webform which displays some information from the database in a textbox named createdby as shown in the code
I have a datagrid which has the following columns which get displayed
[code]...
now I want to add two new columns to this datagrid named createdby createdtime which is the data in the above textbox.I have posted html and csharp code for existing.
tried to use gridview.columns.count to see if there are any columns bt it shows zero, second how shall i et the names of columns in the gried view at runtime i need them to be stored in an string array
I am developing an application using ASP.NET with C#.NET.in my application i have a gridview control and radobutton list having the values as Manufacturer and Distributor. based on the radiobutton selected value,the gridview will bindedup.
i am using SQL SERVER 2005 as backend server. in my database i have one table with columns as
1.mfropendate
2.mfrclosedate
3.mfrawarddate
4.distopendate
5.distclosedate
6.distawarddate
My gridview has 3 columns as Opendate,closedate,awarddate.
if user select the radiobutton as manufacturer,only mfropendate,mfrclosedate,mfrawarddate have to bind. and if user select the distributor the remaining 3 fields will have to bind. for that i had write a storedproc as create procedure sp_GetDraftBids as begin select mfropendate as opendate,mfrclosedate as closedate,mfrawarddate as awarddate, distopendate as opendate,distclosedate closedate,distawarddate awarddate from draftbids end GO
i.e i had taken the alias names for that fields so that i will bind the only 3 columns to grid view as opendate,closedate,awarddate.
My gridview code is
[Code]....
here i had taken the same alias names as i have to bind only 3 columns to gridview.when i run my application i am getting the records in data table with column names as opendate,closedate,awarddate,opendate1,closedate1,awarddate1.i.e it does not allow the same alias name.
for two radio button conditions i.e for manufacturer and distributor the gridview binded with opendate,closedate and awarddate columns as i had binded the gridview boundfields withat names.
but when user select the distributor radiobutton i have to bind the opendate1,closedate1 and awarddate1 to the gridview. for that should i can i change the storedproc are any other solution is there?
I have search for a long long time and could not find a solution to access to grid view's column properties. I have binded a grid view through this method, the bindGridView function will return a table with columns and rows.
The problem here is I cound not access to columns properties such as Grid_View.Columns.Count or Grid_View.Columns[0]."something". It seems like the grid_view does not have any column. But I can access to the Rows properties.
I have put this code within a (!IsPostBack) and set the AutoGenerateColumns to true?
I need to access to columns badly as I need t add additional column to the binded grid view.
I have developed my application using ASP.NET with Visual Basic. I have a table that contains 3 fields. The name of the table is "Customer" and the names of the fields are "Name", "Address", and "Amount". I have a gridview that displays these three columns. I want to summarize the value in the "Amount" column for each record and display the summarize value in the footer of the "Amount" column.
I added some code to the "ItemTemplate" and "FooterTemplate" of the template for the "Amount" field and wrote two functions One function adds the value of the "Amount" field to a variable called "TotalAmount" and the second function 'gets' the value stored in the "TotalAmount" variable.
I am not getting any error messages and all of the items are displayed in the gridview but I am not displaying anything at the bottom of the "Amount" column. What more do I need to do?
This is my code for the "Amount" template:
<asp:TemplateField HeaderText="Amount" SortExpression="Amount"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Amount") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("Amount", "{0:c}") %>'> <%#SumAmount(Eval("Amount")) %></asp:Label> </ItemTemplate> <FooterTemplate> <%#GetTotalAmount() %></FooterTemplate> <FooterStyle BorderColor="Black" BorderStyle="Solid" /> </asp:TemplateField> This is the code in my .vp file Dim TotalAmount as decimal 0.0 Function SumAmount(ByVal Amount As Decimal) As Decimal TotalAmount = TotalAmount + TotalAmount End Function Function GetTotalAmount() As Decimal Return TotalAmount End Function
I am using two Grid Views to display data. One (headersGV) is used to show custom headers which change depending on the device type in the second table (dataGV).
The second displays device data and is bound to db tables. This table has a sort mechanism enabled, the functionality of which is in the header cell of the table, hence the need for the headerGV for column headers.
I need to align these two seperate tables so that the headers align with the data columns in the other table. The dataGV columns dynamically resize depending on the data displayed.
I have tried inline styles, css bound to both tables at different levels of priority, onbind methods, and overriding DataBind() method.
Need row editing on page_load for all the cells and need to validate each cell entry. Means cell1 one entery isvalid it fills thrid cell and insert or update to a table in the database. How do i handle on tab clicking to update in databse.
i have a grid view with all columns as TemplateFields( No BoundField). Based on certain condition i have to set Visibility of few columns false. Suppose when there is no column 'CaseList2' in the DataTable, then the second column of the grid (whose column index is 1 )should be invisible. But when the Gridview binds it gives error DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'CaseList2'
A gridview is having 96 fields/columns retrieving data from an xml file.I need to gridlevel horizontal scrolling from 3 rd column keeping first two columns freeze .While scrolling horizontally (e.g. left to right), The column header have to move horizontally. Kindly guide me for the same. I got the scrollbars but now my issue is how to freeze first two columns of a gridview(for comparing values in one column with other column values)
<div style="overflow:scroll"></div>
[Code]....
Keeping Heading and Title column freeze and doing gridlevel horizontal scrolling for the rest.
I have a "database explorer" page that is desgined to be pointed to an unknown database and allow users to browse the data, so it basically uses the SQL system tables to develop its queries and pull in data to tables using auto-generate columns.The problem that I have is that I would like certain types of columns to have certain formats and I'm wondering the best way to go about it. I could format the column in code in the RowDataBound event I assume, but I'm wondering if there some better standard way to do this? Is there a setting of any kind that I can use? For example I want all of the datetime fields to be formated for short date, like {0:d}, I want decimal fields to have 4 decimal places, etc.