2013-04-11 89 views
0

我想拉大學模塊數據到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> 

在分鐘,這取決於登錄的學生,他們的課程和水平,顯示他們正在進入相關聯的所有模塊。

任何人都可以幫忙嗎?

回答

0

你能不只是改變你的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"> 
+0

謝謝。我剛剛意識到這一點。 *腦屁* – Mark 2013-04-11 10:14:59

+0

很容易錯過顯而易見的... – Tanner 2013-04-11 10:21:36

0

如何簡單地修改你的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模塊。