|
How do you call an update event in datagrid when a record changes? -- Currently my grid updates when my textbox value changes as users go from record to record - I know this is the incorrect way to do this - and I could definetly see that when looking at the database last-mod-by.
Help will be appreciated.
Thanks.
Thank You
|
|
|
|
|
I currently have a search that is working 50% - it finds what to search for, but it does not scroll down or up to the item that is found. I've tried creating an a component class to do this with a scroll event argument...but no luck...any ideas.
On click do go to function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />
<br />
funcgetnode()<br />
If TextBox2.Text <> funcgetnode() Then<br />
MessageBox.Show("Nothing found")<br />
Else<br />
treeListView1.Focus()<br />
End If<br />
End Sub
do search
Function funcgetnode()<br />
Dim x As String = TextBox2.Text<br />
Dim i As Integer<br />
Dim nextnode As New TreeListNode<br />
Dim innode As New TreeListNode<br />
nextnode = nextnode.FirstChild<br />
For i = 0 To treeListView1.Nodes.Count - 1<br />
treeListView1.Nodes(i).Selected = False<br />
If treeListView1.Nodes(i).SubItems(0).ToString = x Then<br />
TextBox1.Text = "found"<br />
treeListView1.Nodes(i).Selected = True<br />
treelistview1.goTorow(i)<br />
funcgetnode = treeListView1.Nodes(i).SubItems(0).ToString<br />
End If<br />
Next<br />
End Function<br />
compClass to go to row
Sub goTorow(ByVal row As Integer)<br />
If Not Me.DataBindings Is Nothing Then<br />
Me.scrollable = True<br />
Me.OnNodesChanged(Me, New ScrollEventArgs(ScrollEventType.LargeIncrement, row))<br />
End If<br />
End Sub
Thanks
Thank You
|
|
|
|
|
For ListView use EnsureVisible() method
|
|
|
|
|
Thanks Koltz -
the EnsureVisible dosent seem to work - Probably because I'm using a custom control (treelistview) that uses both treeview and listview. The control has a ensurevisible property - but its not working. Its not making any sense unless the control has a bug...
Thanks
Thank You
|
|
|
|
|
My data is populating incorrectly like this in my treelist view
+ parent1
---- child1a
---- child1b
---- child2a
---- child2c
---- child3a
---- child3b
+ parent2
---- child1a
---- child1b
---- child2a
---- child2c
---- child3a
---- child3b
+ parent3
---- child1a
---- child1b
---- child2a
---- child2c
---- child3a
---- child3b
I'm trying to get it to load like this
+ parent1
---- child1a
---- child1b
+ parent2
---- child2a
---- child2c
+ parent3
---- child3a
---- child3b
I'm not sure of how to tell it to place each record in correctly by id - in the past I've used Datagrid with datarelations but I'm not sure if I can do this with a treelist view...
Here is my code:
Dim MyDataSet3 As New DataSet<br />
Dim command1 As New SqlCommand("Select *, Order_no as [openDays], Order_no as [lateDays] from LateOrders_Header_view", cnn1)<br />
'Dim command2 As New SqlCommand("Select * from LateOrders_Line_view, LateOrders_Header_view where LateOrders_line_view.Order_no = LateOrders_header_view.Order_no", cnn1)<br />
Dim command2 As New SqlCommand("Select LateOrders_line_view.item_id, LateOrders_line_view.purchase_class from LateOrders_Line_view, lateOrders_header_view where LateOrders_line_view.Order_no = LateOrders_header_view.Order_no", cnn1)<br />
Try<br />
cnn1.Open()<br />
<br />
'Debug.WriteLine(cnn1.ConnectionString)<br />
Dim DirAdapter As New SqlDataAdapter(command1)<br />
Dim DirAdapter2 As New SqlDataAdapter(command2)<br />
<br />
MyDataSet3 = New DataSet<br />
<br />
DirAdapter.Fill(MyDataSet3, "LateOrders_Header_view")<br />
DirAdapter2.Fill(MyDataSet3, "LateOrders_Line_view")<br />
<br />
<br />
Dim prow As DataRow<br />
Dim chrow As DataRow<br />
<br />
treeListView1.Update()<br />
treeListView1.Items.Clear()<br />
For Each prow In MyDataSet3.Tables("LateOrders_Header_view").Rows<br />
Dim item As New TreeListNode '= New TreeListNode<br />
item.SubItems.Add(prow("order_no").ToString)<br />
item.SubItems.Add(prow("name").ToString)<br />
item.SubItems.Add(prow("order_date").ToString)<br />
item.SubItems.Add(prow("requested_date").ToString)<br />
item.SubItems.Add(prow("reason").ToString)<br />
item.SubItems.Add(prow("status").ToString)<br />
item.SubItems.Add(prow("duedate").ToString)<br />
item.SubItems.Add(prow("openDays").ToString)<br />
item.SubItems.Add(prow("lateDays").ToString)<br />
For Each chrow In MyDataSet3.Tables("LateOrders_Line_view").Rows<br />
Dim chitem As New TreeListNode '= New TreeListView<br />
' chitem.SubItems.Add(chrow("order_no").ToString)<br />
'chitem.SubItems.Add(chrow("name").ToString)<br />
'chitem.SubItems.Add(chrow("Order_date").ToString)<br />
'chitem.SubItems.Add(chrow("requested_date").ToString)<br />
chitem.SubItems.Add(chrow("item_id").ToString)<br />
chitem.SubItems.Add(chrow("purchase_class").ToString)<br />
<br />
item.Nodes.Add(chitem)<br />
Next<br />
item.Expand()<br />
treeListView1.Nodes.Add(item)<br />
Next
Thanks For Any Help
Thank You
|
|
|
|
|
I get this error below
Specified Argument was out of range of valid values Prameter Name: column Index
I got a nested table using datarelations -
I get the error above on click when I'm viewing the child table - what my table does on click is get a value of a column of the master table in the grid and place it in a text box. how will I get it so that on click will be disabled when looking at the nested child table? here is my code
'On load I'm connecting and viewing tables
Dim command1 As New SqlCommand("Select * FROM LateOrders_Header_view", cnn1)<br />
Dim command2 As New SqlCommand("Select * from LateOrders_Line_view", cnn1)<br />
'Dim SqlReader As SqlDataReader<br />
Try<br />
cnn1.Open()<br />
<br />
'Debug.WriteLine(cnn1.ConnectionString)<br />
Dim dt As New DataTable("LateOrders_Header_view")<br />
'dgOrderReport.DataSource = dt<br />
Dim DirAdapter As New SqlDataAdapter(command1)<br />
Dim DirAdapter2 As New SqlDataAdapter(command2)<br />
Dim dc1 As DataColumn<br />
Dim dc3 As DataColumn<br />
<br />
MyDataSet = New DataSet<br />
DirAdapter.TableMappings.Add("table1", "LateOrders_Header_view")<br />
DirAdapter.TableMappings.Add("table2", "LateOrders_line_view")<br />
<br />
DirAdapter.Fill(MyDataSet, "LateOrders_Header_view")<br />
DirAdapter2.Fill(MyDataSet, "LateOrders_Line_view")<br />
<br />
dc1 = MyDataSet.Tables("LateOrders_Header_view").Columns("order_no")<br />
dc3 = MyDataSet.Tables("LateOrders_Line_view").Columns("order_no")<br />
<br />
Dim datarelation As DataRelation<br />
datarelation = New DataRelation("Line View", dc1, dc3, False)<br />
'datarelation.Nested = True<br />
dc3.ReadOnly = True<br />
MyDataSet.Relations.Add(datarelation)<br />
<br />
<br />
dgOrderReport.DataSource = MyDataSet.DefaultViewManager '.CreateDataView.Tables("LateOrders_Header_view").DefaultView<br />
dgOrderReport.DataMember = "LateOrders_header_view"
'On Click view contents of selected column in grid and place into textbox
Private Sub dgOrderReport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgOrderReport.Click<br />
Try<br />
txtReason.Text = dgOrderReport.Item(dgOrderReport.CurrentRowIndex, 4) & ""<br />
txtReason.Enabled = False<br />
chkReason.Checked = False<br />
<br />
Catch ex As Exception<br />
MessageBox.Show(ex.Message)<br />
End Try<br />
<br />
End Sub
How will I let it know that onclick is not for second table? Thanks
Thank You
|
|
|
|
|
very easy solution -
Private Sub dgOrderReport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgOrderReport.Click<br />
Try<br />
Dim var1, var2 As String<br />
Dim temp As Integer<br />
temp = dgOrderReport.CurrentRowIndex<br />
If var1 = MyDataSet.Tables(0).Rows(temp).Item(0) Then<br />
txtReason.Text = dgOrderReport.Item(dgOrderReport.CurrentRowIndex, 4) & ""<br />
txtReason.Enabled = False<br />
chkReason.Checked = False<br />
Else<br />
txtReason.Text = ""<br />
End If<br />
<br />
Catch ex As Exception<br />
MessageBox.Show(ex.Message)<br />
End Try<br />
<br />
End Sub
Thank You
|
|
|
|