I m using Component One TrueDBGrid for entering the data. I have attached
the combo to one of the column in the true DBGrid. When i make the entry in
the first row of the grid it works properly.The value in the combo get
display properly. But while entering the values in the second row the
previous text value(DisplayValue) of the row in the combo get disappear and
it changes to numeric value (Value Member of the combo). Here is my code
Private Sub tdgItem_ButtonClick(ByVal sender As Object, ByVal e As
C1.Win.C1TrueDBGrid.ColEventArgs) Handles tdgItem.ButtonClick
If tdgItem.Columns(ENUM_DT.ITEM_ID).Text = "" Then
tdgItem.Columns(ENUM_DT.UOM_ID).ValueItems.Values.Clear()
Exit Sub
End If
iValueitemUpperbound =
objEnquiry.getUOMCountForItem(CType(tdgItem.Columns(ENUM_DT.ITEM_ID).Text(),
Long))
ReDim valItem(iValueitemUpperbound)
tdgItem.Columns(ENUM_DT.UOM_ID).ValueItems.Values.Clear()
valItem = objEnquiry.getUOMForItem
For i = 0 To iValueitemUpperbound
tdgItem.Columns(ENUM_DT.UOM_ID).ValueItems.Values.Add(valItem(i))
Next
End If
Public Function getUOMCountForItem(ByVal itemId As Long) As Integer
Dim strQuery As String
Dim iCount As Integer
Dim strBldr As New StringBuilder()
Dim sqlDtaReaderUOM As SqlDataReader
Dim sqlCmdSelectCommand_UOM As New SqlCommand()
Try
strBldr.Append("SELECT ER_UOM.UOM_ID, ER_UOM.UOM_DESC ")
strBldr.Append("FROM ER_ITEM INNER JOIN ")
strBldr.Append("ER_PKG_HD ON ER_ITEM.COMP_ID = ER_PKG_HD.COMP_ID AND ")
strBldr.Append("ER_ITEM.LOCA_ID = ER_PKG_HD.LOCA_ID AND ")
strBldr.Append("ER_ITEM.PKG_ID = ER_PKG_HD.PKG_ID ")
strBldr.Append("LEFT OUTER JOIN ER_PKG_DT ON ER_PKG_HD.COMP_ID =
ER_PKG_DT.COMP_ID AND ")
strBldr.Append("ER_PKG_HD.LOCA_ID = ER_PKG_DT.LOCA_ID AND ")
strBldr.Append("ER_PKG_HD.PKG_ID = ER_PKG_DT.PKG_ID ")
strBldr.Append("LEFT OUTER JOIN ER_UOM ON ER_PKG_DT.COMP_ID = ER_UOM.COMP_ID
")
strBldr.Append(" AND ER_PKG_DT.LOCA_ID = ER_UOM.LOCA_ID AND ER_PKG_DT.UOM_ID
= ER_UOM.UOM_ID ")
strBldr.Append(" WHERE ER_ITEM.ITEM_ID =" & itemId)
strBldr.Append(" AND ER_ITEM.COMP_ID =" & objGeneral.gnumCompId)
strBldr.Append(" AND ER_ITEM.LOCA_ID =" & objGeneral.gnumLocId)
If objCon.GetRASConnection.State = ConnectionState.Closed Then
objCon.GetRASConnection.Open()
End If
sqlCmdSelectCommand_UOM.Connection = objCon.GetRASConnection
sqlCmdSelectCommand_UOM.CommandText = strBldr.ToString
sqlDtaReaderUOM = sqlCmdSelectCommand_UOM.ExecuteReader
If Not valItem Is Nothing Then
Erase valItem
End If
While sqlDtaReaderUOM.Read
ReDim Preserve valItem(iCount)
valItem(iCount) = New ValueItem()
With valItem(iCount)
.DisplayValue = sqlDtaReaderUOM("UOM_DESC")
.Value = CType(sqlDtaReaderUOM("UOM_ID"), String)
End With
iCount += 1
End While
iCount -= 1
sqlDtaReaderUOM.Close()
getUOMCountForItem = iCount
Catch err As Exception
MsgBox(err.Message)
End Try
End Function
Public Function getUOMForItem() As ValueItem()
getUOMForItem = valItem
End Function
So please given me the solution for the same
Deepali
Cheers,
Laurie Paulin
Perth, Western Australia
"Deepali Patil" <patil_...@hotmail.com> wrote in message
news:OWpjmVCT...@TK2MSFTNGP12.phx.gbl...