How To Use DisplayName Data Annotations For Column Headers In WebGrid
Mar 9, 2011
I have a Car class that I'm trying to display in an MVC 3 view using the WebGrid helper. Below are the Car and it's metadata class.
Car class:
[MetadataType(typeof(CarMetadata))]
public partial class Car
{
// car implementation
}
Car metadata class:
public class CarMetadata
{
[DisplayName("Car Name")]
[StringLength(100, ErrorMessageResourceType = typeof(ValidationText), ErrorMessageResourceName="CarNameDescriptionLength")]
[Required]
public string CarName { get; set; }
}
View contents:
@model List<Car>
...
var grid = new WebGrid(Model, canPage: true, rowsPerPage: 10);
grid.Pager(WebGridPagerModes.NextPrevious);
@grid.GetHtml(
htmlAttributes: new { id = "grid" },
columns: grid.Columns(
grid.Column("CarName", ?????)
));
GOAL: I'd like to figure out how to use the DisplayName data annotation as the column header text in the WebGrid (?????). Does anyone know how this is accomplished?
I've been practicing with WebMatrix and I've come across this problem. I'd like to use the format property of the WebGrid Column in vbhtml but I can't get it to work. I always get some kind of compilation error. Mostly the compiler says that an expression is needed. There must be a crucial difference between the way it's done in cshtml and the way it's done in vbhtml.
I've been trying for the past few hours to add mutliple headers to my grid view but keep failing to get it to show. There's plenty of examples online that I found but can't seem to get the most simplest to work. Below is the code I've been using with no success. I even tried changing the "TableCell" o "TableHeaderCell" but still yields no headers as expected. Anyone know what I could be doing wrong?
I have boundfiled column inside gridview and made the column as invisible by setting visible="false".
But while exporting the gridview to excel I am getting the Header text alone exported. Wherever the column's visibility is set to false the header text should not be exported. After binding the gridview I have set the column's visiblity to false so it won't export the column values.
The problem is to stop exporting the header text to excel. Let's say column index is 10
I recently applied a javascript code from article "Dynamically freeze ASP.net Gridview header using Javascript" found here, ASP Snippets Article, to my page. The javascript works great, but somehow, it's overriding my CSS code for the headers. When I refresh the page, I can see the headers with my CSS in place for just a fraction of a second before it is replaced with generic styling. I am not a javascript person, so really can't troubleshoot the problem. I have a style sheet with the following code.
I have the following gridView and I would like to add a 'free format textBox' to 3 of the column headers, to allow filtering. Much like here If I could/somehow achieve this that would be amazing. I can't use dropDown lists like many of the examples I have found as these lists would be too populated and proving too unfriendly to use.
I just hit the same problem as described here: [URL] - GridView paging with ObjectDataSource. I see the column headers but no data, and I know for a fact my method returns a DataTable with data in it.
I have in my code a gridview that I redirect to excel, it works fine when I have data in the data set. waht I want is to show column headers when there is no data right now what i get is empty sheet.
i have a gridview which is populated from a stores proc using pivot tables. The column are created dynamically apart from a total column which is created as a template field. the gridview looks like below:
CPW EE Foh H3G IND O2 ORG P4U T-M TSC VIR VOD Total
Stores Visited
70 0 0 12 0 16 18 7 11 1 2 8 145
i need to add a hyperlink to each gridview cell and when that cell is clicked pass the header text through the querystring to another page. I can access the cells value ok and pass that through but i cannot seem to access the cells column header text. when i response.write out a count of the gridview.columns it brings back 2 which is the template fields but not the dynamic fields i have tried this on the rowdatbound, rowcreated, page_load and page_unload. the count should be 12 its like it cannot find the dynamic columns at all. ?
here is my code for populating the gridview
[Code]....
and here is my gridview:
[Code]....
i am also moving the total column in this code
[Code]....
and calculating my total in this code and adding my link to the total colum (which works fine)
[Code]....
now i just need to somehow add a link to the other cells and somehow get the value of the header text for that cell clicked.
Scrollable GridView with Fixed Headers inside ASP.Net UpdatePanel using jQuery Plugin. I have one more question in that. How to adjust the width of the columns headers because for some of my gridviews the headers not showing the proper format. in the gridview I gave HorizontalAlign="Left" and in the columns I gave
I have never work with a repeater and after a lot of research I got to the conclusion that this is the control I need to use for what I have to do. I need display data but I will need 2 headers and after some sort of amount of records the headers will repeat again. In this page you will find an example of what I'm trying to do http://ratings.fide.com/view_source.phtml?code=45276 I don't know if a repeater is the right control but i thin it is.
I need to use a grid that allows for filtering in the column headers. I know there are some third-party components out there that cost money. I am looking for something that is free / open-source that can be used on a project. Is anyone aware of a GridView that can do this?
I am using VS2010 RC and i created a buddy class. My problem is that i cant seem to see the option to change the Display name of a column.i only see "displaycolumn" and "displayformat".
I would like to know if it's possible to bypass the validation of one property which is using Data Annotations. Since I use the model across multiple pages, there's a check I need in some, but not in others, so I would like it to be ignored.
I have various questions about validation using data annotations. I am using the following setup
asp.net mvc 2 entity framework 4 data annotations
Basically, I'm trying to get unique validation working and i'm a little confused. My models are as follows:
public class Buyer { public int Id { get; set; } [Required(ErrorMessage = "The email is required")] public string Email { get; set; } [Required(ErrorMessage= "The name is required")] public string Name { get; set; } } public class Seller { public int Id { get; set; } [Required(ErrorMessage = "The email is required")] public string Email { get; set; } [Required(ErrorMessage= "The name is required")] public string Name { get; set; } }...............................................
I make use of validation with data annotations in my model classes. How do I make sure this annotations are not violated when I validate data in my business layer, before sending it to the DAL? I guess I don't want to define the validation rules in two places (model classes and in my BLL-classes)?
If I have a search object with a list of fields, can I, using the System.ComponentModel.DataAnnotations namespace, set it up to validate that at least one of the fields in the search is not null or empty? i.e All the fields are optional but at least one should always be entered.
Whenever the date is displayed, it's displayed like: 01/01/2011 12:00:00 AM
But I'd like to only display 01/01/2011
Is there a way to apply a display format with data annotations? I don't want to have to go to every instance where I display a date, and add some code to format it.
I am trying to make some sense of this validation stuff in MVC2. I followed various walkthroughs, all them for betas/rcs... and I cant' get anythign to happen. Note: THIS JQUERY - NOT THE MS AJAX STUFF!I have referenced MicrosoftMvcJQueryValidation.js which i got got the mvc2 futures lib.
My model is:
[Code]....
The form bit of my ViewPage<User>:
[Code]....
As far as I can see the only additional thing that is being rendered is this:
[Code]....
Which is interesting/annoying for a few reasons. Firstly all of my annotations appear to have been ignored.Secondly FormId isn't even marked as required, and as this rendered text was taken from a page loaded with a null Model (add mode) the FormId field isn't in the form. Finally, this doesn't even result in any actual validation occuring (on the client side). All the server side validation is working fine.See I am using PasswordFor instead of EditorFor. Because someone at MS testing dropped the ball there. Yes EditorFor renders a password field, but it behaves differently to PasswordFor.. the value of the Password field is sent to the client (set in the value attribute of the field). Fail.