Hmmm... would that it were obvious to this sham of a programmer. Here's some code:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack Then bindTransactions()
btnCancel.Attributes.Item("onClick"

= "javascript:window.history.back();return false;"
End Sub
Sub bindTransactions()
Dim oCT As New ChurchTavern()
Dim dtr As OleDbDataReader
dtr = oCT.dtrGetTransactions
dgrdTransactions.DataKeyField = "TransactionID"
dgrdTransactions.DataSource = dtr
dgrdTransactions.DataBind()
dtr.Close()
End Sub
and then, later,
Private Sub btnAddUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddUpdate.Click
Select Case btnAddUpdate.CommandArgument
Case "blankform"
pnlAddUpdate.Visible = True
txtTransactionID.Visible = False
ClearForm()
btnAddUpdate.Text = "Save New Transaction"
btnAddUpdate.CommandArgument = "savenew"
btnCancel.Visible = True
Case "savenew"
Dim oCT As New ChurchTavern()
oCT.InsertTransaction(txtSort.Text, txtTitle.Text, txtDescription.Text)
btnAddUpdate.Text = "Add New Transaction"
btnAddUpdate.CommandArgument = "blankform"
pnlAddUpdate.Visible = False
bindTransactions()
Case "saveedited"
TransactionUpdate()
btnAddUpdate.Text = "Add New Transaction"
btnAddUpdate.CommandArgument = "blankform"
pnlAddUpdate.Visible = False
bindTransactions()
End Select
The "ChurchTavern" bit is a separate page/class where I am keeping the data access stuff for the most part. Not sure I see how anything in page_load could be negating the databind routine called in the button subroutine. Could you explain? I mean, I wouldn't MIND if the initializing code ran on page load -- if that was the databind routine. It seems like something is cacheing somewhere but as I said, I shut off everything I could, even viewstate for the grid.