获取gridview的行高度
本文关键字:高度 gridview 获取 | 更新日期: 2023-09-27 17:49:24
我做c# asp.net在web形式,我想得到网格视图的行高度,但不能,我总是显示0当我试图得到它。我在Stack Overflow中使用了其他帖子中的代码。
c#foreach (GridViewRow row in gv.Rows)
{
height = Convert.ToDecimal(row.Height.Value) + height;
}
html <wc:ReportGridView ID="gv" runat="server" AutoGenerateColumns="false" AllowPrintPaging="true"
CellPadding="4" ForeColor="Black" OnRowDataBound="gv_RowDataBound" ShowFooter="True"
tyle="font-family: 'Century Gothic'; font-size: small; z-index: -1; color: #000000;
margin-top: 0px;" BorderColor="Black" BorderStyle="Solid" BorderWidth="3px">
我看到所有的评论都说他们可以工作,但为什么我不能?或者有其他的解决方案来获得行高,无论是c#还是JavaScript。
gridview的行高可以在大小上变化,因此您可以获得特定行的高度。
int x = grdvw1.Rows[0].Height;
也可以从行模板中获得:
int x = grdvw1.RowTemplate.Height
更新-对于WebForms,我不认为你可以通过服务器端编程得到这个高度,因为它取决于浏览器如何渲染。您可以通过使用客户端编程来尝试。不过,你可以等待专家的评论。如果客户端满足您的需求,您可以尝试下面的代码:
<script>
$(document).ready(function () {
$("#Button1").click(function () {
debugger;
var a = $("#gvd").height();
alert(a);
});
});
</script>
Gridview应该在gvddiv下。
<div id="gvd">
<asp:gridview runat="server" ID="gv" runat="server" AutoGenerateColumns="False" AllowPrintPaging="true"
CellPadding="4" ForeColor="Black" ShowFooter="True" rowstyle Height="20px"
tyle="font-family: 'Century Gothic'; font-size: small; z-index: -1; color: #000000;
margin-top: 0px;" BorderColor="Black" BorderStyle="Solid" BorderWidth="3px"
DataKeyNames="CorporateEmployeeId" DataSourceID="SqlDataSource1">
<Columns>
//Bounded columns
</Columns>
</asp:gridview>
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="SELECT * FROM [mytable]"></asp:SqlDataSource>
</div>
您可以使用JQuery/JavaScript获得每行的行高:
$(document).ready(function () {
//iterate over each row that has cells and log the height
$("#<%=gv.ClientID%> tr:has(td)").each(function () {
console.log($(this).height());
});
});
我不相信你可以从代码后面得到行高度,因为表还没有在客户端上呈现,所以没有行高度。
尝试在您的GridView
定义中添加一个<RowStyle>
元素。
<wc:ReportGridView ID="gv" runat="server" ...>
<RowStyle Height="40px" />
</wc:ReportGridView>
根据这个MSDN页面:
默认为
Empty
,表示不设置此属性。