I have tested the procedure inside the database and it is working
fine. The table inside the database has data that matches with the
parameter.
I have another procedure which adds another row to the table, which is
working fine inside the programming, and in the database.
However, I still cannot figure out what am I doing wrong with the
DataGrid configurations OR Database OR DataAdapter OR
SqlSelectComman d ... I really don't know yet and I have spent a lot of
time in this issue.
**On page Load a different page calls the method RefreshDataCrit eria,
which it supposes to refresh the data in the DataGrid***
I have other pages that do the same thing:
when the user clicks on a certain link, in the main page, the link
makes visible the control ( .ascx ) and then calls the function to
refresh the data of the DataGrid. The other pages are working fine,
except for this one.
I have tried with:
Private Sub Page_Load
(ByVal sender As System.Object, ByVal e As System.EventArg s) Handles
MyBase.Load
If Not IsPostBack Then
RefreshDataCrit eria()
End If
End Sub
But nothing happens.
Below is additional information. Any help is extremely appreciated:
----------------------------------------------------------
Code inside the HTML part:
Code: ( html4strict )
<asp:datagrid id=dataGridCrit eria Width="466px" runat="server" Font-
Size="XX-Small" DataKeyField="C ourseCriteriaID "
DataMember="pro cWebSelectCours eCriteriaForSyl labus" DataSource="<%#
DtsCourseCriter ias31 %>" BorderColor="#3 366CC" BorderWidth="1p x"
BackColor="Whit e" CellPadding="4" BorderStyle="No ne"
AutoGenerateCol umns="False" PageSize="5" Font-Names="sans-serif"
AllowPaging="Tr ue" Height="120px">
<SelectedItemSt yle Font-Bold="True"
ForeColor="#CCF F99" BackColor="#009 999"></SelectedItemSty le>
<ItemStyle Font-Size="XX-Small" Font-Names="Arial"
Font-Bold="True" ForeColor="#003 399" BackColor="Whit e"></ItemStyle>
<HeaderStyle Font-Size="XX-Small" Font-Names="Arial"
Font-Bold="True" ForeColor="#CCC CFF" BackColor="#003 399"></
HeaderStyle>
<FooterStyle ForeColor="#003 399" BackColor="#99C CCC"></
FooterStyle>
<Columns>
<asp:BoundColum n DataField="Prof OrgCriteriaID"
HeaderText="Pro fOrgCriteriaID" ></asp:BoundColumn >
<asp:BoundColum n DataField="Prof OrgCriteriaCode "
HeaderText="Pro fOrgCriteriaCod e"></asp:BoundColumn >
<asp:BoundColum n DataField="Prof OrgCriteriaDesc r"
HeaderText="Pro fOrgCriteriaDes cr"></asp:BoundColumn >
<asp:BoundColum n DataField="Cour seCriteriaID"
HeaderText="Cou rseCriteriaID"> </asp:BoundColumn >
<asp:ButtonColu mn Text="Delete" CommandName="De lete">
<HeaderStyle Width="50px"></HeaderStyle>
</asp:ButtonColum n>
</Columns>
<PagerStyle NextPageText="N ext Page"
PrevPageText="P revious Page" HorizontalAlign ="Center"
ForeColor="#003 399"
BackColor="#99C CCC"></PagerStyle>
</asp:datagrid>
-----------------------------------------------------------------------
Procedure:
Code: ( text )
CREATE PROCEDURE dbo.procWebSele ctCourseCriteri aForSyllabus
@CourseCode varchar(20)
AS
SELECT ProfOrgCriteria .ProfOrgCriteri aID,
ProfOrgCriteria .ProfOrgCriteri aCode,ProfOrgCr iteri
a.ProfOrgCriter iaDescr,CourseC riteria.CourseC riter iaID
FROM CourseCriteria INNER JOIN
ProfOrgCriteria ON
CourseCriteria. ProfOrgCriteria ID = ProfOrgCriteria .ProfOrgCriteri aID
WHERE (CourseCriteria .CourseCode = @CourseCode)
GO
---------------------------------------------------------
DataSet:
Code: ( html4strict )
<?xml version="1.0" standalone="yes "?>
<xs:schema id="dtsCourseCr iterias3" targetNamespace ="http://
www.tempuri.org/dtsCourseCriter ias3.xsd" xmlns:mstns="ht tp://
www.tempuri.org/dtsCourseCriter ias3.xsd" xmlns="http://www.tempuri.org/
dtsCourseCriter ias3.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="u rn:schemas-microsoft-com:xml-msdata"
attributeFormDe fault="qualifie d" elementFormDefa ult="qualified" >
<xs:element name="dtsCourse Criterias3" msdata:IsDataSe t="true">
<xs:complexType >
<xs:choice maxOccurs="unbo unded">
<xs:element name="procWebSe lectCourseCrite riaForSyllabus" >
<xs:complexType >
<xs:sequence>
<xs:element name="ProfOrgCr iteriaID"
msdata:ReadOnly ="true" msdata:AutoIncr ement="true" type="xs:int" />
<xs:element name="ProfOrgCr iteriaCode" type="xs:string " /
><xs:element name="ProfOrgCr iteriaDescr"
type="xs:string " />
<xs:element name="CourseCri teriaID"
msdata:ReadOnly ="true" msdata:AutoIncr ement="true" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Table">
<xs:complexType >
<xs:sequence>
<xs:element name="ProfOrgCr iteriaID"
msdata:ReadOnly ="true" msdata:AutoIncr ement="true" type="xs:int" />
<xs:element name="ProfOrgCr iteriaCode" type="xs:string " /
><xs:element name="ProfOrgCr iteriaDescr"
type="xs:string " />
<xs:element name="CourseCri teriaID"
msdata:ReadOnly ="true" msdata:AutoIncr ement="true" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="dtsCourse Criterias3Key1"
msdata:PrimaryK ey="true">
<xs:selector xpath=".//
mstns:procWebSe lectCourseCrite riaForSyllabus" />
<xs:field xpath="mstns:Pr ofOrgCriteriaID " />
<xs:field xpath="mstns:Co urseCriteriaID" />
</xs:unique>
<xs:unique name="Constrain t1" msdata:PrimaryK ey="true">
<xs:selector xpath=".//mstns:Table" />
<xs:field xpath="mstns:Pr ofOrgCriteriaID " />
<xs:field xpath="mstns:Co urseCriteriaID" />
</xs:unique>
</xs:element>
</xs:schema>
-----------------------------------------
VB.NET Code:
Code: ( text )
Public Class CourseCriteriaG rid
Inherits System.Web.UI.U serControl
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnos tics.DebuggerSt epThrough()Priv ate Sub
InitializeCompo nent()
Dim configurationAp pSettings As
System.Configur ation.AppSettin gsReader = New
System.Configur ation.AppSettin gsReader
Me.SqlConnectio n1 = New System.Data.Sql Client.SqlConne ction
Me.sqlSelectCou rseCriteria = New
System.Data.Sql Client.SqlComma nd
Me.SqlCommandAd dCourseCriteria = New
System.Data.Sql Client.SqlComma nd
Me.DtsCourseCri terias31 = New
UniversalSyllab us.dtsCourseCri terias3
Me.SqlDataAdapt erCourseCriteri a = New
System.Data.Sql Client.SqlDataA dapter
Me.sqlCommandDe leteCourseCrite ria = New
System.Data.Sql Client.SqlComma nd
CType(Me.DtsCou rseCriterias31,
System.Componen tModel.ISupport Initialize).Beg inIni t()
'
'SqlConnection1
'
Me.SqlConnectio n1.ConnectionSt ring =
CType(configura tionAppSettings .GetValue("SqlC onnection1.Conn ectionString",
GetType(System. String)), String)
'
'sqlSelectCours eCriteria
'
Me.sqlSelectCou rseCriteria.Com mandText =
"[procWebSelectCo urseCriteriaFor Syllabus]"
Me.sqlSelectCou rseCriteria.Com mandType =
System.Data.Com mandType.Stored Procedure
Me.sqlSelectCou rseCriteria.Con nection = Me.SqlConnectio n1
Me.sqlSelectCou rseCriteria.Par ameters.Add(New
System.Data.Sql Client.SqlParam eter("@RETURN_V ALUE",
System.Data.Sql DbType.Int, 4,
System.Data.Par ameterDirection .ReturnValue, False, CType(0, Byte),
CType(0, Byte), "", System.Data.Dat aRowVersion.Cur rent, Nothing))
Me.sqlSelectCou rseCriteria.Par ameters.Add(New
System.Data.Sql Client.SqlParam eter("@CourseCo de",
System.Data.Sql DbType.VarChar, 20))
'
'SqlCommandAddC ourseCriteria
'
Me.SqlCommandAd dCourseCriteria .CommandText =
"[procWebInsertCo urseCriteria]"
Me.SqlCommandAd dCourseCriteria .CommandType =
System.Data.Com mandType.Stored Procedure
Me.SqlCommandAd dCourseCriteria .Connection = Me.SqlConnectio n1
Me.SqlCommandAd dCourseCriteria .Parameters.Add (New
System.Data.Sql Client.SqlParam eter("@RETURN_V ALUE",
System.Data.Sql DbType.Int, 4,
System.Data.Par ameterDirection .ReturnValue, False, CType(0, Byte),
CType(0, Byte), "", System.Data.Dat aRowVersion.Cur rent, Nothing))
Me.SqlCommandAd dCourseCriteria .Parameters.Add (New
System.Data.Sql Client.SqlParam eter("@CourseCo de",
System.Data.Sql DbType.VarChar, 20))
Me.SqlCommandAd dCourseCriteria .Parameters.Add (New
System.Data.Sql Client.SqlParam eter("@ProfOrgC riteriaID",
System.Data.Sql DbType.Int, 4))
'
'DtsCourseCrite rias31
'
Me.DtsCourseCri terias31.DataSe tName = "dtsCourseCrite rias3"
Me.DtsCourseCri terias31.Enforc eConstraints = False
Me.DtsCourseCri terias31.Locale = New
System.Globaliz ation.CultureIn fo("en-US")
'
'SqlDataAdapter CourseCriteria
'
Me.SqlDataAdapt erCourseCriteri a.SelectCommand =
Me.sqlSelectCou rseCriteria
'
'sqlCommandDele teCourseCriteri a
'
Me.sqlCommandDe leteCourseCrite ria.CommandText =
"[procWebDeleteCo urseCriteria]"
Me.sqlCommandDe leteCourseCrite ria.CommandType =
System.Data.Com mandType.Stored Procedure
Me.sqlCommandDe leteCourseCrite ria.Connection =
Me.SqlConnectio n1
Me.sqlCommandDe leteCourseCrite ria.Parameters. Add(N ew
System.Data.Sql Client.SqlParam eter("@RETURN_V ALUE",
System.Data.Sql DbType.Int, 4,
System.Data.Par ameterDirection .ReturnValue, False, CType(0, Byte),
CType(0, Byte), "", System.Data.Dat aRowVersion.Cur rent, Nothing))
Me.sqlCommandDe leteCourseCrite ria.Parameters. Add(N ew
System.Data.Sql Client.SqlParam eter("@CourseCr iteriaID",
System.Data.Sql DbType.Int, 4))
CType(Me.DtsCou rseCriterias31,
System.Componen tModel.ISupport Initialize).End Init( )
End Sub
Protected WithEvents SqlConnection1 As
System.Data.Sql Client.SqlConne ction
' Protected WithEvents DtsCourseCriter ias1 As
UniversalSyllab us.dtsCourseCri terias3
Protected WithEvents sqlSelectCourse Criteria As
System.Data.Sql Client.SqlComma nd
Protected WithEvents SqlCommandAddCo urseCriteria As
System.Data.Sql Client.SqlComma nd
Protected WithEvents DtsCourseCriter ias31 As
UniversalSyllab us.dtsCourseCri terias3
Protected WithEvents SqlDataAdapterC ourseCriteria As
System.Data.Sql Client.SqlDataA dapter
Protected WithEvents Label1 As System.Web.UI.W ebControls.Labe l
Protected WithEvents dataGridCriteri a As
System.Web.UI.W ebControls.Data Grid
Protected WithEvents buttonAddCriter ia As
System.Web.UI.W ebControls.Butt on
Protected WithEvents sqlCommandDelet eCourseCriteria As
System.Data.Sql Client.SqlComma nd
'NOTE: The following placeholder declaration is required by the
Web Form Designer.
'Do not delete or move it.
Private designerPlaceho lderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form
Designer
'Do not modify it using the code editor.
InitializeCompo nent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Load
End Sub
------------------------------
'NEXT IS THE METHOD THAT SUPPOSES TO BIND DATA TO THE DATAGRID
------------------------------
Public Sub RefreshDataCrit eria()
Me.sqlSelectCou rseCriteria.Par ameters("@Cours eCode").Value =
Session("Course Code")
Me.SqlDataAdapt erCourseCriteri a.Fill(Me.DtsCo urseCriterias31 )
Me.dataGridCrit eria.DataBind()
End Sub
---------------------------------
---------------------------------
Public Event addCriteria()
Private Sub buttonAddCriter ia_Click(ByVal sender As System.Object,
ByVal e As System.EventArg s) Handles buttonAddCriter ia.Click
RaiseEvent addCriteria()
End Sub
Private Sub dataGridCriteri a_ItemDataBound (ByVal sender As
System.Object, ByVal e As
System.Web.UI.W ebControls.Data GridItemEventAr gs)
'Enable javascript to alert about the delete
If e.Item.ItemType <ListItemType.H eader And _
e.Item.ItemType <ListItemType.F ooter And e.Item.ItemType <>
ListItemType.Pa ger Then
Dim deleteButton2 As LinkButton =
e.Item.Cells(2) .Controls(0)
deleteButton2.A ttributes("oncl ick") = "javascript:ret urn "
& _
"confirm('A re you sure you want to delete Course Criteria:
" & _
DataBinder.Eval (e.Item.DataIte m, "CriteriaDescri ption") &
" ?')"
End If
End Sub
Private Sub dataGridCriteri a_PageIndexChan ged(ByVal source As
System.Object, ByVal e As
System.Web.UI.W ebControls.Data GridPageChanged Event Args)
Me.dataGridCrit eria.CurrentPag eIndex = e.NewPageIndex
RefreshDataCrit eria()
End Sub
Private Sub dataGridCriteri a_ItemCommand(B yVal source As
System.Object, ByVal e As
System.Web.UI.W ebControls.Data GridCommandEven tArgs )
Select Case (CType(e.Comman dSource, LinkButton)).Co mmandName
Case "Delete"
Me.sqlCommandDe leteCourseCrite ria.Parameters( "@CourseCriteri aID").Value
= Me.dataGridCrit eria.DataKeys(e .Item.ItemIndex )
Me.SqlConnectio n1.Open()
Me.sqlCommandDe leteCourseCrite ria.ExecuteNonQ uery( )
Me.SqlConnectio n1.Close()
Me.dataGridCrit eria.EditItemIn dex = -1
If Me.dataGridCrit eria.CurrentPag eIndex >= 1 And
Me.dataGridCrit eria.Items.Coun t = 1 Then
Me.dataGridCrit eria.CurrentPag eIndex =
Me.dataGridCrit eria.CurrentPag eIndex - 1
End If
RefreshDataCrit eria()
End Select
End Sub
End Class
-------------------------------------
Thank you!,
NMM