2017-03-13 11 views
0

私はデータテーブルにデータグリッドをバインドしようとしていましたが、このコードを思いつきました。 今はすべてが動作しているようですが、グリッドビューに何も表示されません。私は誰もが何を問題を知っている実行するときに私はそれがすべてうまく動作するはずですが、グリッドビューが読み込まれていないことを把握できないので、すべてで実行します。datagridとdatagridを接続するasp.net

Dim mrDB As New Odbc.OdbcConnection(myDAC.OBDC) 
    Dim dgrMR As New DataTable 
    Dim dr As DataRow 

    dgrMR.Columns.Add("Data") 
    dgrMR.Columns.Add("Utente") 
    dgrMR.Columns.Add("Nome") 
    dgrMR.Columns.Add("Série") 
    dgrMR.Columns.Add("Tipo") 
    dgrMR.Columns.Add("Estado") 

    dgvMarcacoes.Columns.Clear() 


    Dim sqlStr As String = "select distinct data,idno,idnome, u_tratam as serie, u_tipomr, Max(estado) as estado " & 
          "from [marca].[mr]" 

    sqlStr += queryFilter 
    sqlStr += "group by idno,idnome, u_tratam, data, u_tipomr " 
'this msgbox shows a correct string (that works on sql) so the problem is not on this part 
    'MsgBox(sqlStr, MsgBoxStyle.OkOnly, "controlo") 

    mrDB.Open() 
    Dim mrComm As New Odbc.OdbcCommand(sqlStr, mrDB) 

    Dim mrReader = mrComm.ExecuteReader 
    Dim b = New StringBuilder() 
    If Not (mrReader.HasRows) Then 
     Me.dgvMarcacoes.Visible = False 
     MsgBox("Não há marcações para o dia indicado", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "ATENÇÃO...") 
    Else 
     'Me.dgvMarcacoes.Visible = True 
     While mrReader.Read 
      dr = dgrMR.NewRow() 

      dr(0) = Trim(mrReader(0)) 
      dr(1) = Trim(mrReader(1)) 
      dr(2) = Trim(mrReader(2)) 
      dr(3) = Trim(mrReader(3)) 
      dr(4) = Trim(mrReader(4)) 
      dr(5) = Trim(mrReader(5)) 
      dgrMR.Rows.Add(dr) 

      'dr.Item(5).Value = Trim(estado(mrReader(5))) 

     End While 

    End If 

    dgvMarcacoes.DataSource = dgrMR 
    dgvMarcacoes.DataBind() 
    mrDB.Close() 
'so i tried this to see if the data was passing correctly to my datatable and it is :\ 
    For i = 0 To dgrMR.Rows.Count - 1 
     For u = 0 To dgrMR.Columns.Count - 1 
      MsgBox(dgrMR.Rows(i)(u).ToString) 
     Next 
    Next 
+0

申し訳ありませんが、:句読点は完全にファッションから外れていますか? ;-) – lbusett

+0

は誰にもそのxDの時間がありません –

+0

あなたの質問を読者に明確にするのに気をつけなければ、それはあなた次第です。しかし、あなたが多くの答えを得ることができない場合、驚かないでください...(あるいは、それはちょうど私が昔のファッションである、知らない...) – lbusett

答えて

0

あなたはasp.netとして、タグを持っていますが、それはのWinFormアプリケーションであることを示すコード内でMsgBoxを持っています。グリッドの列がAutogenerateColumns=Trueであることを確認し、falseに変更してください

+0

あなたは私がそれが実際に何らかの理由で虚偽であったかどうかの可視性であることを把握することができたAutogenerateColumnを確認するように言ったから –

+0

@Halamahalaそれを残す。誰かを助けるかもしれない – alwaysVBNET

+0

@Halamahalaあなたは確かですか?メッセージボックスはうまくいきますか?あなたは本当にそれが投げたと思いましたか?あなたはウェブの仕組みを知っていますか? HTML、CSS、JavaScript? Windows Formsのメッセージボックスクラスは、HTTP経由でどうやって動作すると思いますか?私はあなたにヒントを与えます:あなたのサーバーとクライアントが同じマシンでなくなるとすぐには動作しません。 – mason