2016-09-30 4 views
0

を使用してDataGridViewの中で、特定のセルに移動:私はこのようになりますVB.Netでプログラムを持って検索し、テキストボックス

enter image description here

それは多くのデータを持っており、私のような検索モジュールを持っていますこの:

Dim con1 As MySqlConnection = New MySqlConnection("server=192.168.2.250;userid=root;password=admin1950;database=inventory") 
    Dim sql1 As MySqlCommand = New MySqlCommand("Select Location,Category,ItemCode,Description,UOM,BegInv,Receiving,AvailableStocks,StockIssuance,EndingStocks,StoretoWarehouse,WarehouseToSup,StockAdjust,TheoCount,PhysicalCount,Variance,Remarks from variance", con1) 
    Dim ds1 As DataSet = New DataSet 
    Dim adapter1 As MySqlDataAdapter = New MySqlDataAdapter 
    con1.Open() 
    adapter1.SelectCommand = sql1 
    adapter1.Fill(ds1, "MyTable") 
    DataGridView1.DataSource = ds1.Tables(0) 
    con1.Close() 
    With DataGridView1 
     .RowHeadersVisible = False 
     .Columns(0).HeaderCell.Value = "Location" 
     .Columns(1).HeaderCell.Value = "Category" 
     .Columns(2).HeaderCell.Value = "Item Code" 
     .Columns(3).HeaderCell.Value = "Description" 
     .Columns(4).HeaderCell.Value = "UOM" 
     .Columns(5).HeaderCell.Value = "Beg. Inventory" 
     .Columns(6).HeaderCell.Value = "Receiving" 
     .Columns(7).HeaderCell.Value = "Available Stocks" 
     .Columns(8).HeaderCell.Value = "Stock Issuance" 
     .Columns(9).HeaderCell.Value = "Ending Stocks" 
     .Columns(10).HeaderCell.Value = "Store to Warehouse" 
     .Columns(11).HeaderCell.Value = "Warehouse to Supplier" 
     .Columns(12).HeaderCell.Value = "Stock Adjustment" 
     .Columns(13).HeaderCell.Value = "Theoretical Qty." 
     .Columns(14).HeaderCell.Value = "Physical Count" 
     .Columns(15).HeaderCell.Value = "Variance" 
     .Columns(16).HeaderCell.Value = "Remarks" 
     .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft 
     .Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft 
     .Columns.Item(0).Width = 125 
     .Columns.Item(1).Width = 102 
     .Columns.Item(2).Width = 77 
     .Columns.Item(3).Width = 236 
     .Columns.Item(4).Width = 53 
     .Columns.Item(5).Width = 73 
     .ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 
     .Columns(5).Frozen = True 
    End With 
:ここ

enter image description here

は、私が移入方法についてのコードであります

真剣に私はこれを試しましたが、動作していません。

TextBox1.Text = "" 
Dim FirstValue As Boolean = True 
Dim cell As DataGridViewCell 
For Each cell In DataGridView1.SelectedCells 
    If Not FirstValue Then 
     TextBox1.Text += ", " 
    End If 
    TextBox1.Text += cell.Value.ToString() 
    FirstValue = False 
Next 
+0

はい、申し訳ありません。私は私のポストを更新します。 –

+0

そこに行くと、青い選択された行がそこに行くことを意味します。 –

+0

_Just go there_?複数のレコードが検索条件に一致するとどうなりますか? –

答えて

0

私はLINQを統合し、より良い答えが

まず(LINQでその熟練していない)がいることを知っているので、私自身は正直にこの長いアプローチを呼び出し、検索フォームでこの変数を宣言:

Public dt as New Datatable 

第二には、あなたのForm1(あなたDataGridView1が配置されている)、 これは、レコードのTEを保持するには、この宣言しますmporarily検索フォームを開く前に:あなたはDataGridView1データソースを設定する前に

Dim tempdt as New Datatable 

は、このコードが含まれます。 右後:その後

... 
DataGridView1.DataSource = ds1.Tables(0) 
tempdt = New Datatable 
tempdt = ds1.Tables(0) 
... 

、(既存のコードを持っている場合は、このと交換してください)。このようなあなたの検索フォームを呼び出す:

Dim srchForm as New YourSearchFormName 
srchForm.dt = tempdt 
srchForm.Show() 

次に、あなたのボタンを探すには、このコードが含まれます検索フォームで:このコードで

Dim drow() As DataRow 
    drow = dt.Select("ItemCode LIKE '%" & txtSearch.Text & "%' OR Description LIKE '%" & txtSearch.Text & "%'") 
    If drow.Count > 0 Then 
     'THIS WILL LOOP THE GRID BASED ON THE RECORDS FOUND BY TXTSEARCH.TEXT 
     For Each row As DataRow In drow 
      Dim ItemCodeStr As String = row.Item("ItemCode").ToString 
      For Each dgrow As DataGridViewRow In Form1.DataGridView1.Rows 
       If ItemCodeStr = dgrow.Cells(2).Value.ToString Then 
        dgrow.DefaultCellStyle.BackColor = Color.Pink 
       End If 
      Next 
     Next 
    Else 
     MsgBox("There are no matches found.", MsgBoxStyle.Information, "Result") 
    End If 

、私はItemCodeを使用して説明を条件とします。検索条件に一致すると、バックカラーがピンクに変更されます。私はピンクを私の好きな色ですので使用しました。

+0

sirそれは 'テーブル0を見つけることができません 'というエラーがあります。 –

+0

実際に私の検索モジュールは他のフォーム' Form2'に設定されています。そして、そこにコードを置き、DataGridviewが配置されているフォームの名前を追加します。 –

+0

_____- –

関連する問題