[Seaside] Changes in GOODS not showing in browser

LK s002 at landr.net
Tue Aug 3 12:29:25 CEST 2004


C. David Shaffer wrote:

> I suspect that the problem is the "allRecords" instance variable in 
> PMLogsView.  Where does that get filled in?  You will have to refresh 
> it each time you render the component.  An alternative is to have your 
> database connection stored in your Seaside session.  Then you only 
> have to worry about flushing that view periodically so you see other 
> session's changes to the database.  The tutorial Avi mentioned shows 
> you how to do this.
>
> David
>
allRecords get filled in:
PMLogsView>>initialize
    db _ self connect.
    allRecords _ db root at: 'logs'.

I added 'db refresh' to the top of  PMLogsView>>renderContentOn: ...
It seems to do the trick. But, I was wondering if there was a better way.
-Larry

>
>
> LK wrote:
>
>> Thanks for all the support.  You guys are the greatest!  I now have 
>> an app that will add and delete records from a GOODS database.  My 
>> problem now is they added records are  not showing  in the PMLogsView 
>> when I refresh my browser.  The user must close and re-open the 
>> browser to see the changes.  Is there a way to fix this?
>>
>> -Larry
>>
>>
>> Relevent code is below:
>>
>> PMLogsTask>>renderContentOn:  html
>>
>>    |db |
>>    html cssId: 'banner'.
>>    html table: [
>>        html tableRowWith: [
>>            html divNamed: 'title' with: self title.
>>            html divNamed: 'subtitle' with: self subtitle.
>>        ]
>>    ].
>>    html render: pmLogsView.
>>    html text: 'testing'.
>>
>> -----
>> PMLogsView>>renderContentOn: html
>>    | |
>>    html table: [
>>        html tableRow: [html tableHeading: 'View all Log Entries'; 
>> space; space; space.]].
>>    html anchorWithAction: [self call: PMLogAddItem new] text: 'Add'.
>>    html attributeAt: 'cellspacing' put: 0; attributeAt: 'cellpadding' 
>> put: 5; attributeAt: 'border' put: 2.
>>    html table: [
>>            allRecords do: [:i |
>>                html tableRow: [
>>                    html tableData: [html anchorWithAction: [self 
>> delete: i from: db] text: 'Del'].
>>                    html tableData: i type.
>>                    html tableData: i entryDate.
>>                    html tableData: i startTime.
>>                    html tableData: i entryText.
>>                    html tableData: i endTime.
>>            ].
>>        ].
>>        html tableRow: []
>> ]
>> -----------
>> PMLogAddItem>>renderContentOn: html
>> " show add new log form"
>>    item := PMLogItem new.
>>    item initialize.
>>    html form: [
>>        html table: [
>>            html tableRow: [html tableHeading: 'New Log Entry'].
>>            html tableRow: [html tableData: 'Date'. html tableData: 
>> item entryDate].
>>            html tableRow: [html tableData: 'Time'. html tableData: 
>> item startTime].
>>            html tableRow: [html tableData: 'Type'. html tableData: 
>> [html selectFromList: #('DRE' 'SA' 'DBA' 'TEST') selected: (item 
>> type) callback: [:i | item type: i]]].
>>            html tableRow: [html tableData: 'Entry Text'. html 
>> tableData: [ html textAreaWithValue: 'log entry' callback: [:i| item  
>> entryText: i]]].
>>        ].
>>        html submitButtonWithAction: [self add: item] text: 'Save'.
>>    ]
>>      ---------
>> PMLogAddItem>>add: aRecord
>>    db _ PMDatabase new connect.
>>    self table: (db root at: 'logs').
>>    table add: aRecord.
>>    db commit.
>>    db flush.
>>    db logout.
>>    self answer.
>> -----
>>
>> _______________________________________________
>> Seaside mailing list
>> Seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/listinfo/seaside
>
>
>
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/seaside
>
>



More information about the Seaside mailing list