Well I've copied some code lines so you can help me.
I've captured some windows for explain more detailly the problem.
The images are in the folder Webform at:
http://es.f1.pg.briefcase.yahoo.com/inigo_jimenez
The problem:
- From an ASP page I open a modal dialog (figure_A.JPG)
- If I click one of the buttons (the ! button) another window open so
I can choose one of the options (figure_B.JPG)
- When I've chosen one item, this window is closed and the datatable
is updated with a new row. The datagrid refresh automatically
(figure_C.JPG)
- I can insert a new row directly from the textbox that is down the
datagrid (figure_D.JPG)
- If I click on the button that is on the right of the textbox, the
datatable is updated with a new row and the datagrid is refreshed.
(figure_E.JPG).
Well, if this webpage is on a Windows 2000 server works fine but if
the same webpage is on a Windows 2003 server in Windows 2000 client
doesn't work but in Windows XP works fine. The problem is that the
data is inserted in the datatable but the datagrid doesn't refresh the
data.
What's Wrong?
Thanks in advance.
Here the code:
//----------------------------------------------------------------------
// THIS IS THE WEBPAGE HEADER
//----------------------------------------------------------------------
<%@ Page Language="vb" AutoEventWireup ="false"
Codebehind="frm Anomalias.aspx. vb" Inherits="Anoma lias.frmAnomali as"
smartNavigation ="True" %>
//----------------------------------------------------------------------
// THIS IS THE WEBPAGE HEADER
//----------------------------------------------------------------------
<DIV id="div1" style="Z-INDEX: 109; LEFT: 14px; OVERFLOW: auto; WIDTH:
451px; POSITION: absolute; TOP: 95px; HEIGHT: 116px"
ms_positioning= "GridLayout ">
<asp:datagrid id="gridPdtes" style="Z-INDEX: 115; LEFT: 0px;
POSITION: absolute; TOP: 0px" runat="server" ForeColor="Navy "
Height="64px" Width="433px" BackColor="Flor alWhite" BorderColor="Na vy"
AutoGenerateCol umns="False" Font-Size="8pt" Font-Names="Verdana" >
<HeaderStyle Font-Size="10pt" Font-Names="Verdana" Font-Bold="True"
ForeColor="Stee lBlue" BorderColor="Wh ite"
BackColor="Azur e"></HeaderStyle>
<Columns>
<asp:TemplateCo lumn></asp:TemplateCol umn>
<asp:BoundColum n DataField="Obje to"
HeaderText="Obj eto"></asp:BoundColumn >
<asp:BoundColum n DataField="Desc ripcion"
HeaderText="Des cripción"></asp:BoundColumn >
<asp:BoundColum n Visible="False" DataField="Inde x"
HeaderText="Ind ex"></asp:BoundColumn >
</Columns>
</asp:datagrid>
</DIV>
//----------------------------------------------------------------------
// THIS IS THE CODE OF THE BUTTON THAT INSERTS NEW ROWS
//----------------------------------------------------------------------
Private Sub bAddTxt_Click(B yVal sender As System.Object, ByVal e As
System.Web.UI.I mageClickEventA rgs) Handles bAddTxt.Click
If Me.txtAnomTxtLi bre.Text <> "" Then
AgregarAnomTxtL ibre(Me.txtAnom TxtLibre.Text)
Me.txtAnomTxtLi bre.Text = ""
RellenarTablas( )
End If
End Sub
//----------------------------------------------------------------------
// THIS IS THE CODE THAT USE A COMPONENT TO UPDATE/INSERT ROWS IN THE
// DATABASE
//----------------------------------------------------------------------
Public Sub AgregarAnomTxtL ibre(ByVal txt As String)
SETSI_XFolder = New SETSI_Folders.S ETSI_XFolders.S ETSI_XFolder()
FolderBase = New IDESFOLDERLib.F drClass()
XFolder = New IDESXLib.iDesX_ XFolderClass()
XFolder = FolderBase.XNew (SessionPId, ArchAnomPId)
XFolder.SetFiel dValue(SETSI_FL DID_ANOM_IDEXP, IdExp)
XFolder.SetFiel dValue(SETSI_FL DID_ANOM_IDOBJ, IdObj)
If IdTipoObj = 0 Then
XFolder.SetFiel dValue(SETSI_FL DID_ANOM_IDTIPO BJ, "Expediente ")
Else
XFolder.SetFiel dValue(SETSI_FL DID_ANOM_IDTIPO BJ,
ObjFunciones.De scripcionTipObj (IdTipoObj))
End If
XFolder.SetFiel dValue(SETSI_FL DID_ANOM_SUBSAN , "N")
XFolder.SetFiel dValue(SETSI_FL DID_ANOM_TEXTO, txt)
SETSI_XFolder.X Folder = XFolder
SETSI_XFolder.F lags = 0
SETSI_XFolders. Add(SETSI_XFold er)
SETSI_XFolder = Nothing
XFolder = Nothing
FolderBase = Nothing
End Sub
//----------------------------------------------------------------------
// THIS IS THE SUB THAT INITIALIZES THE DATATABLE OBJECT
//----------------------------------------------------------------------
Public Sub RellenarTablas( )
Dim table As New DataTable()
Dim col As New DataColumn()
Dim row As DataRow
Dim txt As String
Dim objTxt As String
Dim chk As System.Web.UI.W ebControls.Chec kBox
Dim i As Integer
Dim TipoObjeto As Object
Dim IdTipoObjeto As Object
Dim IdObjeto As Object
Dim IdTipoAnomalia As Object
Dim TextoAnomalia As Object
Dim Subsanada As Object
col.ColumnName = "Objeto"
table.Columns.A dd(col)
col = New DataColumn()
col.ColumnName = "Descripcio n"
table.Columns.A dd(col)
col = New DataColumn()
col.ColumnName = "Subsanada"
table.Columns.A dd(col)
col = New DataColumn()
col.ColumnName = "Index"
table.Columns.A dd(col)
For i = 0 To SETSI_XFolders. GetCount - 1
SETSI_XFolder = New
SETSI_Folders.S ETSI_XFolders.S ETSI_XFolder()
XFolder = New IDESXLib.iDesX_ XFolderClass()
SETSI_XFolder = SETSI_XFolders. GetItem(i)
If SETSI_XFolder.F lags = 0 Or SETSI_XFolder.F lags = 2 Then
XFolder = SETSI_XFolder.X Folder
objTxt = XFolder.GetFiel dValue(SETSI_FL DID_ANOM_IDTIPO BJ)
IdTipoObjeto = ObjFunciones.Ge tIdTipObj(CStr( objTxt))
IdObjeto = XFolder.GetFiel dValue(SETSI_FL DID_ANOM_IDOBJ)
IdTipoAnomalia =
XFolder.GetFiel dValue(SETSI_FL DID_ANOM_IDTIPO ANOM)
TextoAnomalia =
XFolder.GetFiel dValue(SETSI_FL DID_ANOM_TEXTO)
Subsanada = XFolder.GetFiel dValue(SETSI_FL DID_ANOM_SUBSAN )
If IdTipoObjeto > 1 And IdTipoObj <> 4 Then
' Equipos o titulados
objTxt = objTxt & " - " &
ObjFunciones.De scripcionObj(Ob jSession, SessionPId, IdTipoObjeto,
IdObjeto)
End If
If IsDBNull(IdTipo Anomalia) Then
txt = TextoAnomalia
Else
If IdTipoAnomalia = 0 Then
txt = TextoAnomalia
Else
RS = ObjSession.XDBS elect(SessionPI d, "A" &
SETSI_ARCHID_TI POS_ANOM & "SF", "FLD" & SETSI_FLDID_TIP OS_ANOM_VALOR,
"WHERE FDRID = " & IdTipoAnomalia, Found)
If Not RS Is Nothing And Found Then
RS.Item(1, txt)
End If
RS = Nothing
End If
End If
row = table.NewRow()
row.Item(0) = objTxt
row.Item(1) = txt
row.Item(2) = Subsanada
row.Item(3) = i
table.Rows.Add( row)
XFolder = Nothing
SETSI_XFolder = Nothing
End If
Next
CrearVistas(tab le)
AgregarCheckbox es()
DeshabilitarAut om()
End Sub
//----------------------------------------------------------------------
// THIS SUB BUILDS THE DATAVIEW ON THE DATATABLE OBJECT
//----------------------------------------------------------------------
Public Sub CrearVistas(ByV al table As DataTable)
Dim dv As DataView
If IdTipoObj > 1 Then
' Equipos y Titulados:
Me.gridPdtes.Co lumns(1).Visibl e = False
Me.gridSubs.Col umns(1).Visible = False
End If
dv = New DataView(table, "Subsanada='N'" , "",
DataViewRowStat e.CurrentRows)
Me.gridPdtes.Da taSource = dv
Me.gridPdtes.Da taBind()
dv = New DataView(table, "Subsanada='S'" , "",
DataViewRowStat e.CurrentRows)
Me.gridSubs.Dat aSource = dv
Me.gridSubs.Dat aBind()
End Sub
//----------------------------------------------------------------------
// THIS SUB INSERT CHECKBOXES IN THE DATAGRID
//----------------------------------------------------------------------
Public Sub AgregarCheckbox es()
Dim i As Int16
Dim chk As System.Web.UI.W ebControls.Chec kBox
For i = 0 To Me.gridPdtes.It ems.Count - 1
chk = New System.Web.UI.W ebControls.Chec kBox()
Me.gridPdtes.It ems.Item(i).Cel ls(0).Controls. Add(chk)
Next
For i = 0 To Me.gridSubs.Ite ms.Count - 1
chk = New System.Web.UI.W ebControls.Chec kBox()
Me.gridSubs.Ite ms.Item(i).Cell s(0).Controls.A dd(chk)
Next
End Sub
//----------------------------------------------------------------------
// THIS SUB PUTS SOME CONTROLS DISABLED
//----------------------------------------------------------------------
Private Sub DeshabilitarAut om()
Dim m_Item As System.Web.UI.W ebControls.Data GridItem
Dim Tipo As String
Dim Color As System.Drawing. Color
Color = Color.FromName( "Snow")
For Each m_Item In Me.gridPdtes.It ems
Tipo = m_Item.Cells(1) .Text
If Tipo = "Automática " Then
m_Item.Enabled = False
'm_Item.BackCol or = Color
End If
Next
End Sub