Binding Navigator Tool.Enabled not Working As Expected
When all my variables were declared and instantiated within the procedure enabling/disabling the Delete button it worked. Once I refactored out to having this event update class variables, it all got hosed.
Any ideas on how I can get this functional?
Here's what I do (variables are declared at the class level and assigned values 1) at Form_Load (which works) and 2) at BindingSource_PostionChanged event:
Public Class ProcessingBatchesFormDim currentRowPositionAsInteger = 0Dim currentRowAs My.DataSet.ProcessingBatchesRow Dim currentBatchIdAsInteger = 0 Dim batchAlreadyProcessedAsString = "" Dim MyDataSetMethodsAsNew MyDataSetMethods PrivateSub ProcessingBatchesForm_Load(ByVal senderAs System.Object,ByVal eAs System.EventArgs)HandlesMyBase.Load' Loads data into the 'MyDataSet.ProcessingBatches' table. Me.ProcessingBatchesTableAdapter.Fill (Me.MyDataSet.ProcessingBatches) currentRowPosition = Me.ProcessingBatchesBindingSource.PositioncurrentRow = _ CType(Me.MyDataSet.ProcessingBatches.Rows(currentRowPosition), _ My.MyDataSet.ProcessingBatchesRow) currentBatchId = currentRow.BatchId batchAlreadyProcessed = "" batchAlreadyProcessed = "" ' Test to determine if current Batch has already been processedMyDataSetMethods.GetBatchAlreadyProcessed (currentBatchId, batchAlreadyProcessed) If batchAlreadyProcessed = "False"Then ' Current batch NOT already processed - process delete per normal means Else' batchAlreadyProcessed = "True" ' DO NOT delete - return to window without processing MessageBox.Show( _ "Unable to delete batch. Create new batch should changes be required.", _ "Processing Batch Previously Processed", _ MessageBoxButtons.OK, MessageBoxIcon.Stop, _ MessageBoxDefaultButton.Button1) Me.ProcessingBatchesBindingSource.CancelEdit() EndIfEndSubPrivateSub ConfigureDeleteEnabledOrDisabled() batchAlreadyProcessed = "" MyDataSetMethods.GetBatchAlreadyProcessed _ (currentBatchId, batchAlreadyProcessed) If batchAlreadyProcessed = "False"Then ' Current batch NOT already processed - enable delete tool Me.ProcessingBatchesBindingNavigator.DeleteItem.Enabled =True Me.ProcessingBatchesBindingNavigator.Refresh() Else' batchAlreadyProcessed = "True" ' DO NOT enable delete tool Me.ProcessingBatchesBindingNavigator.DeleteItem.Enabled =False Me.ProcessingBatchesBindingNavigator.Refresh() EndIfEndSubPrivateSub ProcessingBatchesBindingSource_PositionChanged(ByVal senderAsObject,ByVal eAs System.EventArgs)Handles ProcessingBatchesBindingSource.PositionChanged currentRowPosition = Me.ProcessingBatchesBindingSource.PositioncurrentRow = _ CType(Me.MyDataSet.ProcessingBatches.Rows(currentRowPosition), _ My.MyDataSet.ProcessingBatchesRow) currentBatchId = currentRow.BatchId ConfigureDeleteEnabledOrDisabled()EndSub End Class |

