我正在以网络形式做c#asp.net,我想得到网格视图的行高但不能,当我试图得到它时我总是显示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。
答案 0 :(得分:0)
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应位于 gvd div。
下<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>
答案 1 :(得分:0)
您可以使用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());
});
});
我不相信您可以从代码隐藏中获取行高,因为该表尚未在客户端上呈现,因此没有行高。
答案 2 :(得分:0)
尝试在<RowStyle>
定义中添加GridView
元素。
例如:
<wc:ReportGridView ID="gv" runat="server" ...>
<RowStyle Height="40px" />
</wc:ReportGridView>
默认值为
Empty
,表示未设置此属性。