gridview显示tru值asp.net vb
问题描述:
我想拉大学模块数据到gridview,但只有当模块是强制性的。有人知道怎么做吗?gridview显示tru值asp.net vb
下面是ASPX代码与SQL数据源:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="Module_Code" DataSourceID="SqlEnteringLevel">
<Columns>
<asp:BoundField DataField="Module_Code" HeaderText="Module_Code"
ReadOnly="True" SortExpression="Module_Code"></asp:BoundField>
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title">
</asp:BoundField>
<asp:BoundField DataField="Semester" HeaderText="Semester"
SortExpression="Semester"></asp:BoundField>
<asp:BoundField DataField="CATS" HeaderText="CATS" SortExpression="CATS">
</asp:BoundField>
<asp:CheckBoxField DataField="Compulsory" HeaderText="Compulsory"
SortExpression="Compulsory"></asp:CheckBoxField>
<asp:BoundField DataField="Course" HeaderText="Course" SortExpression="Course">
</asp:BoundField>
<asp:BoundField DataField="Level" HeaderText="Level" SortExpression="Level">
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:button runat="server" text="Next" ID="BtnNext" TabIndex="1"/>
<asp:Button ID="BtnReturn" runat="server"
Text="Return to Registration Page" TabIndex="2" />
<asp:SqlDataSource ID="SqlCurrentLevel" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [Level] FROM [Student_Academic_Record] WHERE ([Student_No] = @Student_No)">
<SelectParameters>
<asp:SessionParameter DefaultValue="Student" Name="Student_No"
SessionField="Student" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlEnteringLevel" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT DISTINCT Module_Details.Module_Code, Module_Details.Title, Module_Details.Semester, Module_Details.CATS, Module_Details.Compulsory, Student_Academic_Record.Course, Module_Timetable.Level FROM Module_Details INNER JOIN Module_Timetable ON Module_Details.Module_Code = Module_Timetable.Module_Code INNER JOIN Student_Academic_Record ON Module_Timetable.Course = Student_Academic_Record.Course WHERE (Module_Timetable.Level = @Level) AND (Student_Academic_Record.Course = @Course)">
<SelectParameters>
<asp:SessionParameter DefaultValue="EnteringLevel" Name="Level"
SessionField="EnteringLevel" />
<asp:SessionParameter DefaultValue="Course" Name="Course"
SessionField="Course" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlCourse" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [Course] FROM [Student_Academic_Record] WHERE ([Student_No] = @Student_No)">
<SelectParameters>
<asp:SessionParameter DefaultValue="Student" Name="Student_No"
SessionField="Student" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
在分钟,这取决于登录的学生,他们的课程和水平,显示他们正在进入相关联的所有模块。
任何人都可以帮忙吗?
答
你能不只是改变你的SELECT
声明以包括Compulsory
领域WHERE
条款参数 - Module_Details.Compulsory = 1
假设它是一个bit
柱:
SelectCommand= _
"SELECT DISTINCT Module_Details.Module_Code, Module_Details.Title, " & _
"Module_Details.Semester, Module_Details.CATS, Module_Details.Compulsory, " & _
"Student_Academic_Record.Course, Module_Timetable.Level " & _
"FROM Module_Details " & _
"INNER JOIN Module_Timetable ON " & _
"Module_Details.Module_Code = Module_Timetable.Module_Code " & _
"INNER JOIN Student_Academic_Record ON " & _
"Module_Timetable.Course = Student_Academic_Record.Course " & _
"WHERE (Module_Timetable.Level = @Level) " & _
"AND (Student_Academic_Record.Course = @Course) " & _
"AND Module_Details.Compulsory = 1">
答
如何简单地修改你的SqlDataSource SqlEnteringLevel
一点。
您的SelectCommand
应该看起来像。
SelectCommand="SELECT........WHERE (Module_Timetable.Level = @Level) AND
(Student_Academic_Record.Course = @Course)
AND (Module_Details.Compulsory = 'Compulsory')" // add this
因此,这会给你一个resultset
将只包括Compulsory
模块。
谢谢。我刚刚意识到这一点。 *脑屁* – Mark 2013-04-11 10:14:59
很容易错过显而易见的... – Tanner 2013-04-11 10:21:36