|
Hello
I m getting error that Operator '=' is not defined for types 'System.Windows.Forms.DataGridViewColumn' and 'System.Windows.Forms.DataGridViewButtonColumn'
Private Sub dgvLorryMaster_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvLorryMaster.CellContentClick
Dim currentrow As Integer = Integer.Parse(e.RowIndex.ToString())
Try
If currentrow = -1 Then
Else
idString = dgvLorryMaster(2, currentrow).Value.ToString()
If dgvLorryMaster.Columns(e.ColumnIndex) = editbutton AndAlso currentrow >= 0 Then ''Error here
Displaylorry(Convert.ToInt32(idString))
Dim datadeletelorry As New DataSet()
End If
If dgvLorryMaster.Columns(e.ColumnIndex) = delbutton AndAlso currentrow >= 0 Then ''Error Here
Dim num As DialogResult = MessageBox.Show("Are you want to delete the record !!!.", "", MessageBoxButtons.YesNo)
If num = DialogResult.Yes Then
Dim result As Boolean = lbll.deletelorry(Convert.ToInt32(idString))
If result = True Then
ClearText()
MessageBox.Show("Deleted Successfully")
bindgrid()
End If
Else
ClearText()
End If
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
|
|
|
|
|
Try:
If (dgvLorryMaster.Columns(e.ColumnIndex) = editbutton) AndAlso (currentrow >= 0) Then
Veni, vidi, abiit domum
|
|
|
|
|
I have tried as u suggest me, but the problem is remain same,
If(dgvLorryMaster.Columns(e.ColumnIndex) = editbutton) AndAlso (currentrow >= 0)
|
|
|
|
|
|
Quote: I m getting error that Operator '=' is not defined for types 'System.Windows.Forms.DataGridViewColumn' and 'System.Windows.Forms.DataGridViewButtonColumn'
First off, assuming that editbutton and delbutton are assigned to the proper columns in the dgvLorryMaster.Columns collection, there is no need to try and compare the columns. The Column.Index property is all that is needed.
Please never write code like this:Quote: Dim currentrow As Integer = Integer.Parse(e.RowIndex.ToString())
"e.RowIndex" is an integer to start with.
I have attempted to restructured your code to make it easier to understand and eliminate the errors as follows. Hopefully this will help.
Private Sub dgvLorryMaster_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvLorryMaster.CellContentClick
If e.RowIndex > -1 AndAlso (e.ColumnIndex = editbutton.Index OrElse e.ColumnIndex = delbutton.Index) Then
Try
Dim id As Int32
If dgvLorryMaster(2, e.RowIndex).Value IsNot DBNull.Value Then
If dgvLorryMaster(2, e.RowIndex).ValueType Is GetType(Int32) Then
id = DirectCast(dgvLorryMaster(2, e.RowIndex).Value, Int32)
Else
If Not Int32.TryParse(dgvLorryMaster(2, e.RowIndex).Value.ToString(), id) Then
Throw New InvalidCastException("can not extract ID")
End If
End If
End If
Select Case e.ColumnIndex
Case editbutton.Index
Displaylorry(id)
Case delbutton.Index
Dim num As DialogResult = MessageBox.Show("Are you want to delete the record !!!.", "", MessageBoxButtons.YesNo)
If num = DialogResult.Yes Then
If lbll.deletelorry(id) Then
Cleartext()
MessageBox.Show("Deleted Successfully")
bindgrid()
End If
Else
Cleartext()
End If
End Select
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End Sub
|
|
|
|
|
Dear Sir,
First of all,Thank you so much for your kind endevour to make the code right, it's working when i click on the edit button the selected record shows in the text box and clicking on the delete button it' working properly, but one thing is here , I change my code as you send to me but when I update the record and click on save button , the new record is added with update text box not updated the existing record, I am sending following my save button click event,
Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
If validateform() Then
If id IsNot Nothing Then
Dim result As Boolean = lbll.updatelorry(txtLcode.Text.Trim(), txtLno.Text.Trim(), txtDname.Text.Trim())
If result = True Then
ClearText()
bindgrid()
id = Nothing
MessageBox.Show("Update Successfully")
End If
Else
Dim result As Boolean = lbll.insertlorry(txtLcode.Text.Trim(), txtLno.Text.Trim(), txtDname.Text.Trim())
If result = True Then
ClearText()
bindgrid()
MessageBox.Show("Created Successfully")
End If
End If
End If
End Sub
I have changed the "idstring" to id" which is used by you in my whole coding.one thing is there that in save button click event I have written that (if id isNoting) then proceed the update command. At this stage I already added the code "if id =0" cause he editbutton.index is 0, but it's not working throw message i.e
The method or operation is not implemented. where as I am using the Function update.which is below
Public Function updatelorry(ByVal pkId As Integer, ByVal Lcode As String, ByVal Lno As String, ByVal Dname As String) As Boolean
Try
Dim param As SqlParameter() = New SqlParameter(3) {}
param(0) = New SqlParameter("@pkid", pkId)
param(1) = New SqlParameter("@lcode", Lcode)
param(2) = New SqlParameter("@lno", Lno)
param(3) = New SqlParameter("@dname", Dname)
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "updatelorry", param)
Return True
Catch
Throw
End Try
End Function
also it makes automatic another update function where the message throws which is below
Function updatelorry(ByVal p1 As String, ByVal p2 As String, ByVal p3 As String) As Boolean
Throw New NotImplementedException--error shows here
End Function
when i use in save button click event that
if id=editbutton.index then the same message throw.
Please suggest me what to do at this stage to make the update procedure active.
also if i use comment in the automatic created function then it shows another error is that
"Argument not specified for parameter 'Dname' of 'Public Function updatelorry(pkId As Integer, Lcode As String, Lno As String, Dname As String) As Boolean'.at save button click event
Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
If validateform() Then
If id = editbutton.Index Then
Dim result As Boolean = lbll.updatelorry(txtLcode.Text.Trim(), txtLno.Text.Trim(), txtDname.Text.Trim())--Error Shows here
If result = True Then
ClearText()
bindgrid()
id = Nothing
MessageBox.Show("Update Successfully")
End If
Else
Dim result As Boolean = lbll.insertlorry(txtLcode.Text.Trim(), txtLno.Text.Trim(), txtDname.Text.Trim())
If result = True Then
ClearText()
bindgrid()
MessageBox.Show("Created Successfully")
End If
End If
End If
End Sub
the stored procedure od update command is
ALTER PROCEDURE [dbo].[updatelorry]
@lcode varchar(50),
@lno varchar(50),
@dname varchar(50),
@pkId int
AS
BEGIN
update lorrymaster set LCode=@lcode,Lno=@lno,Dname=@dname
where pkid=@pkId
select @pkId
END
Also the lorrymaster table structure is
CREATE TABLE [dbo].[lorrymaster](
[pkid] [int] IDENTITY(1,1) NOT NULL,
[lcode] [varchar](50) NULL,
[lno] [varchar](50) NULL,
[dname] [varchar](50) NULL,
[createdate] [smalldatetime] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
|
|
|
|
|
i would like to thank every body answered here
i think using lan have big problem , the pc should first consider
the lan is plugged then starting other operations
and while i need using just simple circuits
the pc will not detect them as a connection !
then as far as i know will not send any data .
|
|
|
|
|
Assuming this has something to do with your question below, I think you have all the information that is available. LAN drivers are designed to manage network connections using standard network circuitry and cables. Your issue is to use something that the drivers are not designed for, and thus you need to write your own driver software.
Veni, vidi, abiit domum
|
|
|
|
|
Given everything we already told you, the only surprise is that you still expected this to work without writing your own driver.
You have but a single choice. Either learn to write a driver to do this (that'll take months as you'll need the datasheet on your motherboards Ethernet chip so you can find out how to control it and you'll need to learn how to debug drivers in kernel mode,) or you use a microcontroller and get it done in about a week. Since I have no idea what you're skill set and level is, your mileage may vary.
|
|
|
|
|
Please reply to this post if you are still around and looking for solution
|
|
|
|
|
Hi i have a problem i made a iBuilding installation project with serial number validation using VSI, Orca, C++, or Delphi, then i moved from another computer and i have this
there is a problem with this windows installer package. A DLL required for this install to complet could not be run. Contact your support personnel or package vendor.
what thats mean, how i solve?????
im so desesperate
|
|
|
|
|
And what does this have to do with VB.NET??
|
|
|
|
|
I am opening a form from another form. But I have a requirement that I need to close the calling form. For that I have put the following syntax
frm1.show()
me.close()
What is happening is both are getting closed. If I don't use the close statement then both the forms remain open. I am a little novice in VB so forgive my lack of knowledge. If anybody can help I will be grateful
|
|
|
|
|
If you close the "startup form", you close the entire application with it.
You can hide the startup form, but you cannot close it.
|
|
|
|
|
Go to the Project Properties and change the option of which form will close the project
|
|
|
|
|
i need only to get any voltage out from my laptop to control a relay
how to get a signal from a LAN port from any pin ?
in my laptop there is no com Port or lpt Port
also the usb port needs interfacing circuits which is not nessesary
in my simple project ... thats why i choosed the LAN Port
i use (visual basic 6) .. any help would much appriciated .
|
|
|
|
|
Having used parallel, serial, usb and all sorts of input/output cards or serial/usb-to-**** add-ons, including building my own, I've not come across anyone trying this. Not saying it can't be done but one function of the 'interfacing' circuits you say are not necessary is to protect your PC/laptop from damage. A relay will require an external power source which if wrongly connected could damage your LAN port and perhaps more. I recommend you get for a USB-to-serial or USB-to-IO converter instead, there's a lot already done with and written about using these.
|
|
|
|
|
That's a very VERY BAD IDEA!
Controlling a relay without external hardware is just going to KILL whatever port you plug it into.
There is a reason why you see capacitors and diodes sitting on the control pins of a relay. This is to prevent power from going backwards INTO the pins you attached it to.
Do yourself a HUGE favor and di it correctly. Get yourself some kind of external controller, like a Netdunio, Arduino, or a Phidgets controller and connect the relay to that. You can talk to those controllers and have them do the work instead.
Don't tell me you can't afford them either. They are VERY cheap compared to the cost of replacing the motherboard in your laptop.
Oh! And DROP VB6 right now. Do yourself a favor and get VB.NET instead. VB6 has been dead for quite a long time now. By using it you're just doing yourself a disservice by letting it teach you all kinds of bad habits that you will have to unlearn when you finally do upgrade. The Visual Studio Express editions are FREE and can be found here[^].
|
|
|
|
|
hi guys ..
there are big misanderstand
i'm not said that i will not using protection circuits
i said dont need interfacing circuits such as ICs ... etc
just one pin gives (1 , 0) to control something .
|
|
|
|
|
|
You don't get it. First off, you don't have direct access to the pins. Well, at least not without a very special driver being written.
Second, you WILL burn up the chip you connect this relay to! You MUST MUST MUST use protection circuitry in order to prevent this.
Why? A little grade-school science... What happens when you run electricity through a wire?? You get a magnetic field surrounding the wire.
Great! Now, what happens when the electricity is taken away from the wire?? The magnetic field goes away, right? Wrong! The magnetic field COLLAPSES and during this collapse, it generates electricity in the wire!
Where do you think that power goes if the only thing you have connected to it is your precious Ethernet chip??
YES YOU NEED PROTECTION CIRCUITRY!
You've been warned...
|
|
|
|
|
If you read my last post you will find whom dont got it
i said ok , yes i must use protection circuits
my question out of its purpose , as a result of these posts
you absolutely dont understand what i mean
and now we discuss protection instead of control and signals .
|
|
|
|
|
I don't know about your previous posts, nor about any previous conversations you've had here. Never assume that everyone knows your own personal history on any site. It would have been nice if you brought that up in your original post to this thread.
As you've already been told, you need to write a very custom driver to expose the pins on the Ethernet port. This is something you're not going to do in a managed language like C# or VB.NET. You can start by going here[^] and start reading.
|
|
|
|
|
to make the idea much clear and what i exactly need
there is two Leds attached to the lan port , one of them is TX data
which is green color , if i can just get like that signal
then my problem would be solve .
|
|
|
|
|
Well as I suggested earlier, it's easy. You just need to write a LAN driver that will act on your commands.
Veni, vidi, abiit domum
|
|
|
|
|