c# - How do you make an MVC Webgrid show multiple lines in a cell? -


i have function in code generates string a\nb\nc, when pulled webgrid, use function on razor side change \n <br />, , know works because in webpage source shows string on 3 separate lines.

@functions { public static string replacelinebreaks(string s) { return s.replace(environment.newline, "@html.raw(<br />)"); } }

<div id="grid_mywebgrid"> @grid.gethtml( tablestyle : "table", alternatingrowstyle : "alternate", headerstyle : "header", columns: grid.columns( grid.column("letters", format: item => @html.raw(replacelinebreaks(html.encode(item.letters)))), ) ) </div>

but when load page, cell column shows:

abc

instead of:

a b c

is there in webgrid lets tell that column used multi-line cell?

i found called @helper can use design razor inline templates. using @helper, wrote foreach statement create spans each of strings.

@helper displaymultiline(string str) { foreach(string s in str.split(new char[] {'\n'})) { @s <br /> } }

<div id="grid_searchentities"> @grid.gethtml( tablestyle : "table", alternatingrowstyle : "alternate", headerstyle : "header", columns: grid.columns( grid.column("letters", format:@<text>@displaymultiline(@item.letters)</text>), ) ) </div>


Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -