提供 Gridview :
<asp:GridView ID="Grid" runat="server" DataSourceID="ODS">
<Columns>
<asp:BoundField HeaderText="Product"
DataField="ProductName" SortExpression="ProductName">
</asp:BoundField>
<asp:BoundField HeaderText="Unit Price"
DataField="UnitPrice" SortExpression="UnitPrice"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="Right"></ItemStyle>
</asp:BoundField>
<asp:BoundField HeaderText="Units In Stock"
DataField="UnitsInStock"
SortExpression="UnitsInStock"
DataFormatString="{0:d}">
<ItemStyle HorizontalAlign="Right"></ItemStyle>
</asp:BoundField>
<asp:BoundField HeaderText="Quantity Per Unit"
DataField="QuantityPerUnit"></asp:BoundField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ODS"
runat="server"
SelectMethod="GetItems">
</asp:ObjectDataSource>
如何隐藏列,即将它们设置为 Visible=false
当设备
正在运行的是移动的吗?
通常我用
@media screen and (max-width:480px) {
...
}
但它只适用于 CSS 类。
我想做的是将第一列设置为 Visible="false"
使用
Grid.Columns[0].Visible = "false" ;
从后面的代码来看,当设备的分辨率低于 max-width:480px
时.
是否可以使用 @media screen and
为了这个目的 ?
我试过使用 <%= %>
但它不适用于 max-width:480px
.
非常感谢
最佳答案
你可以这样做:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.Browser.IsMobileDevice)
{
Grid.Columns[0].Visible = "false";
....
}
}
}
我什至在 Chrome 上使用开发者工具使用 Toggle device mode
模拟移动设备进行了测试
您也可以使用这两个属性来获取尺寸:
Request.Browser.ScreenPixelsWidth
和
Request.Browser.ScreenPixelsHeight
关于c# - 在移动设备上运行时更改 Gridview 列的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31027609/