Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

Îåêßíçóå áðü ôï ìÝëïò ape. Τελευταία δημοσίευση από το μέλος KelMan στις 11-12-2005, 01:22. Υπάρχουν 24 απαντήσεις.
Σελίδα 1 από 2 (25 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-12-2005, 22:37 7754

    ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Καλησπέρα σε όλους και πάλι,

    γράφω για να κάνω πάλι ερώτηση αλλά  μήν με μαλώσετε, λοιπόν έχω το εξής πρόβλημα. Εχω ένα grid με εγγραφές στο grid αυτό έχω και ένα πεδίο tsek θέλω να βρώ πόσες εγγραφές έχει τσεκάρει ο χρήστης!!!!

    ο κωδικας που έχω γράψει είναι ο εξής

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    Dim iDS As Integer
    Dim NUM As Integer

     iDS = 0
     NUM = 0

     While Not iDS = ds.Tables(0).Rows.Count
      If ds.Tables(0).Rows(iDS).Item("Παραγγελία") = False Then
       NUM = NUM + 1
       Exit While
      End If
      iDS = iDS + 1
     End While

     MessageBox.Show(iDS)

    End Sub

    το μήνυμα που παίρνω όταν τρέχω την εφαρμογή είναι το εξής!!!

    "An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll

    Additional information: Operator is not valid for type 'DBNull' and type 'Boolean'.""""

    για την παρακάτω γραμμή από τον κώδικα

    If ds.Tables(0).Rows(iDS).Item("Παραγγελία") = False Then


    μήπως έχει κάποια ιδέα κανείς από εσάς !!!????

     

    Ευχαριστώ πολύ!!!!!!!!

     

  •  09-12-2005, 22:42 7757 σε απάντηση της 7754

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Για δοκίμασε

    If Not ds.Tables(0).Rows(iDS).IsNull("Παραγγελία") Then
          If CType(ds.Tables(0).Rows(iDS).Item("Παραγγελία"), boolean) = False Then ...

    Επίσης, θα μπορούσες να κάνεις λίγο πιο compact τον κώδικά σου, γράφοντας

    For Each dr as DataRow in ds.Tables(0).Rows
          If Not dr.IsNull("Παραγγελία") Then
                If CType(dr.Item("Παραγγελία"), boolean) = False Then
                      NUM += 1
                End If
          End If
    End For

    Και να ξεφορτωθείς τον counter. Έγραψα τον κώδικα χωρίς να τον έχω δοκιμάσει, υποθέτω θα τρέχει...


    Vir prudens non contra ventum mingit
  •  09-12-2005, 22:50 7759 σε απάντηση της 7757

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Το κοιτάω αμέσως!!!!!!!!!!Δυστυχώς δεν λύθηκε.....................

  •  09-12-2005, 22:56 7760 σε απάντηση της 7754

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Ιεεεπ, DBNull.. είναι λογικό να μην γίνεται cast σε τπτ..
    Βαλε μια if η οποία checkarei με την IsNull (και ISDBNULL έαν πρόκειται για datareader) έαν το πεδίο είναι DBNull και πράξε αναλόγος..Επίσης, για να μην φτάσεις σε αυτό το σημείο υπάρχουν 2 ακόμα "επιλογές"
    α) Να μην αφήνεις NULL καταχωρήσεις στα πεδία του table σου στην βάση
    β) Όταν καλείς με select δεδόμένα (η γενικώς οταν χρησιμιποιείς δεδομένα) να κάνεις use την ISNULL(value,value_if_null) function του SQL Server η οποία αλλάζει ένα NULL value σε κάποιο επιθυμητό..πχ ISNULL(my_money,0) (όπου το πεδίο my_money έχει τιμή NULL αυτή αντικαθιστάτε απο 0..
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  09-12-2005, 22:57 7761 σε απάντηση της 7754

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Εκανα και αυτο που μου έγραψες ξεφορτώθηκα τον cunter αλλά τίποτα!!!!
    μήπως φταίε η δήλωση του πεδίου του πίνακα ???
    το έχω δηλώσει ώς εξής
    ds.Tables(0).Columns.Add("Παραγγελία", System.Type.GetType("System.Boolean"))
  •  09-12-2005, 22:59 7762 σε απάντηση της 7761

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Για δες την διόρθωση... Μέχρι να την κάνω είχατε γράψει 3 posts :)

     


    Vir prudens non contra ventum mingit
  •  09-12-2005, 23:01 7764 σε απάντηση της 7760

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Hehehehe.. αργείς αργείς!! :P
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  09-12-2005, 23:02 7765 σε απάντηση της 7764

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Btw, είχα την αίσθηση οτι γεμίζει το dataset του απο βάση.. thus το ποστ μου για SQL Functions..
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  09-12-2005, 23:06 7766 σε απάντηση της 7754

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    (Κάνω download και έχω μικρές ταχύτητες)

    Βασικά, στο πρώτο post βιάστικα και νόμιζα ότι το πρόβλημα ήταν type conversion...
    Vir prudens non contra ventum mingit
  •  09-12-2005, 23:13 7767 σε απάντηση της 7761

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Το ίδιο πάλι!!!!
    δυστυχώς τίποτα!!!
  •  09-12-2005, 23:14 7768 σε απάντηση της 7767

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Σας Ευχαριστώ πολύ πάντως είστε πολύ ευγενικοί και οι δύο!!!!!!
  •  09-12-2005, 23:15 7769 σε απάντηση της 7754

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Κάνε ποστ ολο το κώδικα σου..
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  09-12-2005, 23:20 7770 σε απάντηση της 7768

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Imports System.Data
    Imports System.Data.OleDb
    Imports DevExpress.XtraGrid
    Imports DevExpress.XtraGrid.Views.Grid
    Imports DevExpress.XtraGrid.Views.BandedGrid
    Imports DevExpress.XtraEditors.Repository
    Imports ADODB

    Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim ds As DataSet = New DataSet("Materials")
    Dim da As OleDbDataAdapter


    #Region " Windows Form Designer generated code "

                         [Snipped by KelMan]



    #End Region
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim connString As String
    connString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Application.StartupPath & "\GIARDINO.mdb;"
    Dim MYCON As OleDbConnection = New OleDbConnection
    MYCON.ConnectionString = connString
    Dim SQL As String
    SQL = "SELECT * FROM MASTER_MATERIAL_GIARDINO"

    da = New OleDbDataAdapter(SQL, MYCON)
    Try
    da.Fill(ds, "Materials")
    Catch ex As Exception
    End Try
    ds.Tables(0).Columns.Add("Παραγγελία", System.Type.GetType("System.Boolean"))
    ds.Tables(0).Columns.Add("Ποσότητα", System.Type.GetType("System.Int32"))
    GridControl1.DataSource = ds.Tables("Materials")
    GridView1.Columns(9).OptionsColumn.AllowGroup = DevExpress.Utils.DefaultBoolean.True
    GridView1.Columns(1).OptionsColumn.ReadOnly = True
    GridView1.Columns(9).OptionsColumn.ReadOnly = False
    GridView1.Columns(10).OptionsColumn.ReadOnly = False
    GridView1.Columns(10).Visible = True
    GridView1.Columns(8).Visible = False
    GridView1.Columns(4).Visible = False
    GridView1.Columns(4).Visible = False
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    Dim connString As String
    connString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Application.StartupPath & "\GIARDINO.mdb;"
    Dim MYCON As OleDbConnection = New OleDbConnection
    MYCON.ConnectionString = connString
    Dim SQL As String
    SQL = "SELECT * FROM MASTER_MATERIAL_GIARDINO WHERE MASTER_MATERIAL_GIARDINO.ΚΩΔΙΚΟΣ LIKE '" & TextBox1.Text & "%'"
    Me.TextBox11.Text = Me.TextBox1.Text
    Try
    Dim IMGPATH As String = Application.StartupPath & "\IMG\" & TextBox11.Text & ".JPG"
    Dim IMG As New Bitmap(IMGPATH)
    Me.PictureBox1.Image = IMG
    Catch ex As Exception
    PictureBox1.Image = Nothing
    End Try
    Dim ds As DataSet = New DataSet("Materials")
    Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQL, MYCON)
    Try
    da.Fill(ds, "Materials")
    Catch ex As Exception
    End Try
    GridControl1.DataSource = ds.Tables("Materials")
    End Sub

    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
    Dim connString As String
    connString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Application.StartupPath & "\GIARDINO.mdb;"
    Dim MYCON As OleDbConnection = New OleDbConnection
    MYCON.ConnectionString = connString
    Dim SQL As String
    SQL = "SELECT * FROM MASTER_MATERIAL_GIARDINO WHERE MASTER_MATERIAL_GIARDINO.ΠΕΡΙΓΡΑΦΗ LIKE '" & TextBox2.Text & "%'"
    'Dim ds As DataSet = New DataSet("Materials")
    Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQL, MYCON)
    Try
    da.Fill(ds, "Materials")
    Catch ex As Exception
    End Try
    GridControl1.DataSource = ds.Tables("Materials")
    End Sub
    Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged
    Dim connString As String
    connString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Application.StartupPath & "\GIARDINO.mdb;"
    Dim MYCON As OleDbConnection = New OleDbConnection
    MYCON.ConnectionString = connString
    Dim SQL As String
    SQL = "SELECT * FROM MASTER_MATERIAL_GIARDINO WHERE MASTER_MATERIAL_GIARDINO.EAN LIKE '" & TextBox8.Text & "%'"
    Dim ds As DataSet = New DataSet("Materials")
    Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQL, MYCON)
    Try
    da.Fill(ds, "Materials")
    Catch ex As Exception
    End Try
    GridControl1.DataSource = ds.Tables("Materials")
    End Sub
    Private Sub Panel4_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel4.Paint
    End Sub
    Private Sub Panel3_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel3.Paint
    End Sub
    Private Sub GridControl1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GridControl1.Click
    Dim KODIKOS As String
    Dim ROWHANDLE As Integer
    Dim PERIGRAFH As String
    Dim DIASTASEIS As String
    Dim TIMH As String
    Dim DIATHESIMOTHTA As String
    Dim ENALLAKTIKH As String
    Dim BARCODE As String
    Dim KODIKOS1 As String
    ROWHANDLE = GridView1.FocusedRowHandle

    KODIKOS = (GridView1.FocusedRowHandle)
    KODIKOS1 = (GridView1.GetFocusedRowCellValue(GridView1.Columns(0)))
    PERIGRAFH = (GridView1.GetFocusedRowCellValue(GridView1.Columns(1)))
    DIASTASEIS = (GridView1.GetFocusedRowCellValue(GridView1.Columns(3)))
    TIMH = (GridView1.GetFocusedRowCellValue(GridView1.Columns(6)))
    DIATHESIMOTHTA = (GridView1.GetFocusedRowCellValue(GridView1.Columns(7)))
    ENALLAKTIKH = (GridView1.GetFocusedRowCellValue(GridView1.Columns(2)))
    BARCODE = (GridView1.GetFocusedRowCellValue(GridView1.Columns(4)))
    Me.TextBox11.Text = KODIKOS1
    Me.TextBox12.Text = PERIGRAFH
    Me.TextBox16.Text = DIASTASEIS
    Me.TextBox14.Text = TIMH
    Me.TextBox15.Text = DIATHESIMOTHTA
    Try
    Me.TextBox7.Text = ENALLAKTIKH
    Catch ER As Exception
    Me.TextBox7.Text = " "
    End Try
    Me.TextBox13.Text = BARCODE
    Try
    Dim IMGPATH As String = Application.StartupPath & "\IMG\" & TextBox11.Text & ".JPG"
    Dim IMG As New Bitmap(IMGPATH)
    Me.PictureBox1.Image = IMG
    Catch ex As Exception
    PictureBox1.Image = Nothing
    End Try
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim KLEISIMO As New Form1
    Dim EISODOS_PARAGGELIAS As New Form3
    EISODOS_PARAGGELIAS.ShowDialog()
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim iDS As Integer
    Dim DR As DataRow
    For Each DR In ds.Tables(0).Rows
    Next
    If Not DR.IsNull("Παραγγελία") Then
    End If
    If CType(DR.Item("Παραγγελία"), Boolean) = False Then
    iDS += 1
    End If
    MessageBox.Show(iDS)
    End Sub
    End Class

  •  09-12-2005, 23:27 7771 σε απάντηση της 7770

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Υποθέτω δεν σου χτυπάει το ίδιο λάθος... Κάνε τη διόρθωση

    For Each DR In ds.Tables(0).Rows 
       If Not DR.IsNull("Παραγγελία") Then 
          If CType(DR.Item("Παραγγελία"), Boolean) = False Then 
             iDS += 1 
          End If 
       End If
    Next

    Στον κώδικα που είχες γράψει έκανες το loop και μετά τους ελέγχους και επίσης τελικά τα δύο if δεν ήταν nested.


    Vir prudens non contra ventum mingit
  •  09-12-2005, 23:30 7772 σε απάντηση της 7770

    Απ: ΠΛΗΘΟΣ ΤΣΕΚΑΡΙΣΜΕΝΩΝ ΕΓΓΡΑΦΩΝ ΣΕ GRID (ΠΡΟΒΛΗΜΑ)!!!!!!

    Mpleh, το σβησα το δικό μου.. με πρόλαβες! :P

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
Σελίδα 1 από 2 (25 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems