我希望asp gridview
显示响应行为,就像html表那样,没有更多表的css样式
在这里看到http://bootsnipp.com/snippets/featured/no-more-tables-respsonsive-table。
有没有办法实现它。
我之前尝试过一种方法,即用html表替换我的gridview并从中应用no-more-table样式
代码背后。但我不想这样做,因为我想要asp:GridView.
答案 0 :(得分:6)
我已经编写了自定义css来实现此功能。要使用我的代码,请按照以下步骤进行操作
Step1 :将您的GridView包含在ID为no-more-gridView的部分中 如下
<section id="no-more-gridView">
<asp:GridView..>
.
</asp:GridView>
</section>
Step2 :从后面的代码(在RowDataBound函数内部)为每个单元格分配一个数据标题属性,如下所示,
e.Row.Cells[0].Attributes["data-title"] = "Col1Name";
e.Row.Cells[1].Attributes["data-title"] = "Col2Name";
e.Row.Cells[2].Attributes["data-title"] = "Col3Name";
.
.
Step3 :最后包含我在下面给出的自定义样式。使用media query
将样式应用于您希望它生效的任何屏幕尺寸,这应该可以解决问题。
/* Author : Vinay
Description: Responsive GridView
*/
/* Force gridview to not be like gridview anymore */
#no-more-gridView table,
#no-more-gridView thead,
#no-more-gridView tbody,
#no-more-gridView th,
#no-more-gridView td,
#no-more-gridView tr {
display: block;
}
/* Hide table headers (but not display: none;, for accessibility) */
#no-more-gridView .table_column_head > * {
display:none;
}
#no-more-gridView tr { all: revert;border: 2px solid #ccc;height:auto !important;}
#no-more-gridView td {
/* Behave like a "row" */
border: none;
border-bottom: 1px solid #eee;
position: relative;
padding-left: 50%;
white-space: normal;
text-align:left;
padding-bottom: 1em;
}
#no-more-gridView td:before {
/* Now like a table header */
position: absolute;
/* Top/left values mimic padding */
left: 6px;
width: 45%;
padding-right: 10px;
white-space: nowrap;
text-align:left;
font-weight: bold;
}
/*
Label the data
*/
#no-more-gridView td:before { content: attr(data-title); }