我想在页面加载中隐藏Detailsview控件,其中控件值为0。Detailsview链接到sql数据库,显示的值是从零开始的数字值。

我将控件设置如下:

<asp:DetailsView Height="25px" Width="60px" ID="dv2cG" runat="server" AutoGenerateRows="False" DataSourceID="ds2cG" BorderWidth="0px" HorizontalAlign="Center" BackColor="#ccd0ff" >
    <Fields>
        <asp:BoundField showheader="false" DataField="2cG" HeaderText="2cG" ReadOnly="True" SortExpression="2cG" />
    </Fields>
</asp:DetailsView>

<asp:SqlDataSource ID="ds2cG" runat="server" ConnectionString="<%$ ConnectionStrings:MaltingsConnectionString %>" SelectCommand="select sum(case when (name = 'English' and ks2en = '2c' and result like 'G') or (name = 'Mathematics' and ks2ma = '2c' and result like 'G') or (not name = 'Mathematics' and not name = 'English' and ks2av = '2c' and result like 'G') then 1 else 0 end) as '2cG' from student join subject on student.upn=subject.upn where @TeachingGroup = 'Select All' AND ([StuYear] = @StuYear) AND ([DataCollection] = @DataCollection) AND ([Name] = @SubjectName) OR @TeachingGroup &lt;&gt; 'Select All' AND ([StuYear] = @StuYear) AND ([DataCollection] = @DataCollection) AND ([Name] = @SubjectName) AND ([TeachingGroup] = @TeachingGroup)">

<SelectParameters>
    <asp:ControlParameter ControlID="DdlTeachingGroup" Name="TeachingGroup" PropertyName="SelectedValue" />
    <asp:ControlParameter ControlID="DdlYear" Name="StuYear" PropertyName="SelectedValue" />
    <asp:ControlParameter ControlID="ddlDataCollection" Name="DataCollection" PropertyName="SelectedValue" />
    <asp:ControlParameter ControlID="DdlSubject" Name="SubjectName" PropertyName="SelectedValue" />
 </SelectParameters>

我编写了以下简单过程:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    'G column - sets dataitem to visible false where the dataitem equal 0
     If dv2cG.DataItem = 0 Then
         dv2cG.Visible = False
     Else
         dv2cG.Visible = True
     End If

End Sub

这将成功隐藏DetailsView。 但是,即使控件中的值不等于1,也会这样做。

谢谢阅读。

===============>>#1 票数:0

我在这里踩到这篇文章时解决了这个问题

我在sql命令上使用了nullif()函数,例如

select nullif(sum(case when.....then 1 else 0 end),0) as '2cG'

  ask by Matt translate from so

未解决问题?本站智能推荐:

1回复

尝试更新用户详细信息,asp.net成员时出错

我正在使用asp.net成员身份并尝试更新用户详细信息,但出现以下错误: 以下是完整的.vb代码: 在我之前: 并得到错误: 你调用的对象是空的。 说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
1回复

使用FindControl从VB.Net代码隐藏文件中的ASP.Net DetailsView中定位控件不起作用

我想让FindControl可以从VB.Net代码隐藏文件中“查看” ASP.Net DetailsView中的控件。 它找不到任何一个。 该页面的标记使用的是MasterPage。 当前,我们的DetailsView的属性如下所示: 您能告诉我要包括哪些其他属性,这样的
1回复

帮助在详细信息视图中使用文件上传

我正在尝试使用fileupload,将行添加到此页面上的gridview中。 该页面基本上是一个简单的管理面板,可以在其中向数据库添加数据。 文件上载用于获取文件的路径,并将路径上载到数据库而不是文件。 问题是,每当我运行我的程序选择一个文件时,它就会上传好,希望路径显示为true而不是路
2回复

未绑定的DetailsView不显示在ASP.NET/VB.NET中

在我正在创建的这个项目中,我正在创建一个页面的模型,该页面使用似乎适合我的需求的DetailView(在博客中看到的东西)。 但是,我不想将数据绑定到任何东西。 因此,我添加了控件,然后开始向其中添加适当的模型列,并尝试在测试页上呈现该控件。 ASP.NET应该生成HTML的地方不存在
1回复

详细信息视图查找下拉列表框和绑定

如何在DetailsView中找到控件。 我认为这需要在DataBound事件中完成,并将此字段的数据源的当前值发布到DDL.selectedvalue? 我要添加一个DDL,我想显示该字段的当前值并在编辑模式下可以选择。 加价:
1回复

使用vb.net滚动时如何在面板上打印隐藏和可见的内容

请我有一个可滚动的面板,其中一些内容是隐藏的,其他内容在窗体上可见,我担心的是如何在面板上打印所有内容,包括隐藏的内容。 我将如何帮助您
1回复

VB.net DetailsView使用多个数据源?

我有一个DetailsView看起来非常完美。 唯一的事情是,有一个字段实际上是从另一个表中获取其信息的。 它是一个ID字段,链接到数据库中的另一张表,我希望有某种方法可以在DetailsView中获取该字段以从另一张表中提取信息。 是否可以在PicklistID旁边添加+(加号),然
1回复

VB.NET-隐藏datagridview的左上角单元格

我有一个3行2列的datagridview。 我的行和列都有标题。 问题是我的datagridview的左上角有一个空单元格。 我认为这是我的行标题的列标题或类似的东西。 我无法成功隐藏此单元格,可能吗? 谢谢 范例: 编辑:我试图将属性dtgv.TopLeftH
2回复

自动登录过程(隐藏表格)vb.NET Windows表格

好的,我在这里遇到了麻烦。 我正在为应用程序创建一个登录窗口,但是我试图让该应用程序在启动时自动登录(即执行用户登录时发生的功能),而不显示登录屏幕(如果进行了设置)已经具有存储的电子邮件和密码。 我有一个通知系统托盘图标,该图标显示该应用程序何时运行以及何时不可见该窗体,并弹出气球通知,以
1回复

VB.net使用StringBuilder避免出现不可见的gridview行

我当前的gridview有各种隐藏行; 当我将这些行复制到一个csv文件中时,它会将隐藏的行显示为空行。 我试图通过行If (DisplaySup.Rows(i).Visible = True)来传递空行; 空行仍然显示。 有没有解决方法?