MVC :: Dynamic Columns For View At Runtime?
Nov 2, 2010
I finally got the DynamicLibrary issue nailed down I asked about in another post. The basic gist is that there's a project table that renders to a View. The user can, at runtime, choose the columns to display and the order in which they should be displayed. Here's the method that does the work:
[Code]....
This works great. The SerializeToCsv() method is an extension method I created for generic string lists. I used the jQuery UI bundle to create a sortable set of 'ul li' elements with checkboxes in them, which allows users to select which columns to show, and in what order. When the post happens, the current order the elements are in on the View is the order in which they're added to the FormCollection, so I don't need to do anything special to track ordering. So far, all is working according to my evil plans.
The problem I have now is how to render this in the View dynamically at runtime. It's very easy to check for the Model's property values and display them selectively, but not to reorder them. Off the top of my head, I can think of a few ways to do this, but none of them are very attractive. The first idea is to send the Model in as a collection of objects. The query that returns the data as shown above already has the columns returned in the order the user chose, so I could wrap them in objects and render them as string representations in the View. This is clunky, ugly, and won't give me the support for the actual data types boxed in the objects. I'd have to convert them all to strings in the service class and then wrap them in objects, because the View wouldn't know if it was dealing with a DateTime, string, int or whatever. I REALLY don't want to take this route. Can anyone give me some advice on a better way to reorder and selectively display columns at runtime?
View 17 Replies
Similar Messages:
Mar 15, 2010
I have a requirement where on the left hand side we have a tree view control and on the right hand we have dynamic columns.
Below screenshot gives an idea of the requirement. what is the best way to implement this?
Year1, Year2, Year3 are dynamic and are based on the user input.
View 2 Replies
Jan 28, 2011
I am working on the dynamic grid view(create dynamic columns).I need some thing like that given bellow in the fig:
columns1,2,3 are dynamic and the modules under the columns are also dynamic. to create grid like that.
Column1
Column2
Column3
Module1
Module2
Module3
Module4
Module5
Module6
Module7
Module8
View 2 Replies
Sep 20, 2010
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:
[Code]....
View 1 Replies
Jan 14, 2011
I have a DataTable where the columns are generated programmatically at runtime. I then bind this DataTable to a GridView. What I'm wondering is how I can create the GridView to accommodate this, and if it's not possible, how I can output the DataTable into nicely formatted HTML.
View 3 Replies
Dec 5, 2010
im showing 3 rows and 2 columns in a Gridview...I want to generate a 3rd column at runtime in a Gridview ....
only 1 LinkButton in Gridview at position row1 and column 3
only 2 LinkButton in Gridview at position row2 and column 3
only 3 LinkButton in Gridview at position row3 and column 3
View 8 Replies
Jun 15, 2010
I want to create dynamic integer variable for each role in this loop. Which I will user later for totaling item count in other logic.
Is this possible to create a runtime dynamic variable?
View 2 Replies
Jan 13, 2010
I m trying to add template columns at run time. but it get lost on post back ,
I have to add columns on postback ,what approch should i use that the columns should not diappear at postback
View 1 Replies
Mar 9, 2011
You know how when you put your cursor over the line that seperates 2 columns of a grid, the cursor turns into a 2 headed arrow and allows you to adjust the width of the column? How do you allow this with a gridview?
View 4 Replies
Jul 24, 2010
I am generating dynamic textboxes with the ids as follows table row 1:
no1,name1,addressline11,addressline21,city,pin,communicationAddress1(here the row count I am appending at last to the control id's)table row 2: no2,name2,addressline12,addressline22,city,pin,communicationaddress2
table row 3: no3,name3,addressline13,addressline23,city,pin,communicationaddress3 and so on....
A new will be created when user hits enter key in the last textbox i.e., communicationaddress.For validations I have used java script. Now my requirement is when user types the address line the content of the textbox should be copied to communication address.
communication address = addressline1+addressline2+city+pin
so in theabove four textboxes when the user hits the keys the matter appending to the communication address with ',' seperated. I acheived this through key press event in java script..................
View 3 Replies
Nov 5, 2010
In my Page_Load() event, I'm calling a Sub (in a module UserMenu.vb) that reads an XML file which has the user menu entries. The final menu should be an <ul> with several <li>, some of them with anidated <ul> within. As I understand, I may use a asp:Panel in my page to position a container for this elements I read and in this sub I try to add them using new BulletedList and new ListElement BList.Items.Add(LItem)), but when I get to Panel.Controls.Add(BList) it throws an error that says BList should be inserted in a Form. Why? Aren't they just <ul> and <li>? What other alternative I have to create <ul> and <li> in a specific part of my page?
View 3 Replies
Mar 18, 2011
I am making a web project now. And i meet some problems working with Entity Framework. My program needs to have dynamic model. I try to explain. So i have classes and database is created from them. At the beginning of work program checks in folder Modules for assemblies and looks for classses that needs to be created as tables in database(this classes have to become a part of ef model). And i need at runtime create database.If some new classes was added so add this tables to database, but not recreate it(as it is made by default). If i delete classes the tables are not deleted.
View 2 Replies
Aug 30, 2010
Below I have a bunch of SQL statements that creates a table at runtime and the "pic" column is a dynamic column and the code creates the number of "pic" columns depending on the count of the uploader control. the problem comes when I try to insert into that table and I am trying to say for every "pic" declare variable @pic....
it works well for just one file in the uploader but for multiple files i get the following error
The name "pic1" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
Directory.CreateDirectory(MapPath(".") & "port" & clientname.Text & "")
Dim objConn As New SqlConnection("Data Source=xxxxxxxxx.hostedresource.com; Initial Catalog=mrpoteat; User ID=xxxxxxx; Password=xxxxxxxxx;")
objConn.Open()
Dim strCommandText As String = ""
[Code]....
View 1 Replies
Jan 28, 2010
I have a two buttons ( button1 and button2 ), a panel ( panel1 ), a label ( labe1 ) on my Web page ( coded with asp.net and c# ). I want to create 2 textboxs on my page when I click on button1 ( button1_click ).
After that, when I click button2 ( button2_click ), I want to get data of textbox (added on runtime) and write them on label1.
This application is part of my master application. This is very important for me...
View 8 Replies
Jan 11, 2010
I have created a gridview at runtime. its working fine when i load the grid first time. after when i am selecting next value from ddl to load grid according to that option(selecting from dropdown list and coresponding values showing in grid) showing error that "A field or property with the name 'datafield name' was not found on the selected data source."
might be i am getting this error becuze the privious value is not being cleared"
View 28 Replies
Aug 24, 2010
Im using LinqDataSource like that:
<asp:LinqDataSource ID="LinqDataSource3" runat="server" OnSelecting="LinqDataSource3_OnSelecting">
</asp:LinqDataSource>
And I have ASPxGridView
<dxwgv:ASPxGridView ID="ASPxGridView2" ClientInstanceName="ASPxGridView2Client"
runat="server" AutoGenerateColumns="False"
DataSourceID="LinqDataSource3">
</dxwgv:ASPxGridView>
In this way Im able to add columns dynamically while handling onSelecting event:
protected void LinqDataSource3_OnSelecting(object sender, LinqDataSourceSelectEventArgs e)
{
MyModelDataContext context = new MyModelDataContext();
ASPxGridView grid = ASPxPageControl1.TabPages[3].FindControl("ASPxGridView2") as ASPxGridView;
if(grid.Columns.Count == 0){
GridViewDataTextColumn txtColumn1 = new GridViewDataTextColumn();
GridViewDataTextColumn txtColumn2 = new GridViewDataTextColumn();
txtColumn1.FieldName = "UserId";
txtColumn2.FieldName = "FirstName";
grid.Columns.Add(txtColumn1);
grid.Columns.Add(txtColumn2);
}
e.Result = from u in context.Users select new { UserId = u.UserId, FirstName = u.FirstName };
}
It is all made simply to test cause my idea is to have solution that makes it possible to use inqDataSource as a datasource for de ASPxGridView but join 2 or 3 tables and show results in this grid.
What I want to ask is if its good solution or is there any other better way to present some views made from couple of tables by join?
Second question is that I have Users and Group and I would like to have one table in which I would have two columns Name and Type For groups type would by group and for users type would be user. I dont have such a table in my database Is it possible to create specific class. Create List of objects of that class and fill it using linq query and the use it as linq data source for that grid ?
clas would be:
pseudocode:
Class MyClass {
string Type;
string Name;
}
or is there any other way to create such a table ?
View 1 Replies
Feb 17, 2010
I am Developing a database web applicationI am Creating web controls on page at runtime i.e in Page_Init event. No textbox are placed on .aspx page at design timeI have a datatable filled with a single record.now i want to bind a textbox (created at runtime) with a column of datatable so that when a page is loaded value in datatable's column is displayed in textbox.Other Important thing i want is when i make any changes in Textbox, It should be reflected automatically in a column to which textbox is binded. So while saving records i can save it directly from datatable. I dont want to write following tedious code before savinge.g.
DataRow mDr = Datatable.NewRow();
mDr["EmpId"] = TxtEmp.Text
mDr["EmpName"] = TxtEmpName.Text
Datatable.Rows.Add(mDr);
View 12 Replies
Nov 27, 2013
In my gridview I have
EDIT RoleUID RoleID Role Desc ....etc columns
each table contains first "EDIT" and then UID column and ID column etc columns contains.
Now i added new row with the code which you posted. But once i click on "Add New" button then the new row added like
EDIT textbox textbox textbox etc
I need INSERT in place of EDIT
and i am displaying textboxes 0 positon of grid
for (int j = 2; j < cellCount; j++)
How to display "insert" and how to put lable with uid and id values which are autogenerated..
View 1 Replies
May 26, 2010
I'm developing a CMS of sorts, and I want to give my users the possibility of customizing the display. More precisely, I want to give them the ability to choose to display or hide the left column, the right column and/or the top div. The middle column cannot be hidden since this is where the actual content will show, whereas the other columns are for navigation or side menus.
I've been looking for a way to make this as smart and flexible as possible. For now I'm using a MasterPage, but that seems to be too constraining. For instance, with MasterPage you need to add a ContentPlaceHolder control in every of your ASPX pages.
What are the best practices in this area? I guess a simpler way of saying this would be "I want to create a template system over which I have complete control".
View 1 Replies
Aug 10, 2010
I'm using dynamic columns boundfield and templatefield in gridview, the GV embeded in a panel (autoscroll:auto;width:fixe), I fixed 3 columns to fit the panel's width , when I add exceed the 3 columns the width changes !
View 15 Replies
Apr 23, 2012
How to dynamically assign a datasource to a DataList ?????????
For example suppose that we want to fetch data from the database table accordingly user interest and then bind the data to DataList Control........... How to do that?
View 1 Replies
Feb 11, 2011
I have a master document which is composed of other document types (some are required and some are not). While the master document's status is "Draft" I need to ignore all not nullable constraints (because the writer may decide to work on one of the children
documents that is not required and save as draft).
The closest solution I found for this problem is check constraints but I have not yet to see an example of this in check contraint and I'm not even sure if this is possible. Has anyone implemented a similar solution with check constraints (or any other methods)?
View 2 Replies
Apr 1, 2010
How to add a form and a loginview control at runtime? and how can i set loginview LogedInTemplate and AnonymouseTemplate at runtime?
View 4 Replies
Feb 22, 2010
Is there any potential pitfall for using HttpContext.Current.CurrentHandler for runtime view access?
public static GetView<T>(T view) where T : IView
{
return HttpContext.Current.CurrentHandler as T;
}
View 1 Replies
Jan 11, 2011
I am dynamically binding dataset to a gridview(No Columns at design time) .I need to show Totals for some of the dynamically generated columns in the footer.
View 3 Replies