|
Got it. I had
this.Show();
positioned before the initialization block above. This raises the BeginEdit event for the first cell which seems to prevent the altering via program.
There are 2 ways to solve this:
move
this.Show();
or insert
LLinGrid.EndEdit();
behind initialization,
Thanx for your interest.
|
|
|
|
|
|
Windows Forms do not really lend themselves too well to such design. Try WPF which offers much more flexibility of layout.
|
|
|
|
|
You GDI things on the Device Contexts provided by the forms. I personally prefer this approach to WPF.
Geek code v 3.12
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Hello all,
Hopefully I am posting in the right place otherwise please correct me.
I want to display a scrollable list of tiles with images to display categories of items (all click selectable) and have another area displaying products as images all click selectable. I want to do this in C# .net 4.0 using VS 2010.
I would like advice on which controls to use from the basics (non commercial please). Could someone please point me in the right direction.
Like the layout shown here
http://unicenta-opos.en.softonic.com/[^]
I have looked at a few things ??
|
|
|
|
|
minnie mouse wrote: I want to do this in C# Then you would probably get a better response in the C# forum. However, the control you need will most likely be a ListView[^].
|
|
|
|
|
Hey guys, we are trying to design an autonomous system to match the criteria between college students qualifications and the companies offering intern positions requirements, I have checked and the closest thing I got were a few CRM's. If any of you have any idea about any open source software that we can use to design such a system please share your knowledge on the matter 
|
|
|
|
|
this i my first post, so i hope i am explaining it correctly, have a datagridview with a textboxcolumn. it is bind to a dataset
my problem is when i update a record wiht more that 350 characters it give me a nullrefference error. the database is updated when i check the physical record but the application crash
here is the function
Private Sub m_maintenanceProcessor_WebsiteUpdated(ByVal sender As Object, ByVal e As Processors.EventArgs) Handles m_maintenanceProcessor.WebsiteUpdated
Dim tempTable As MaintenanceDataSet.WebsitePageDownloadDataTable
Try
If e.Data.Contains("ModifiedRows") = False Then Exit Sub
tempTable = CType(e.Data("ModifiedRows"), MaintenanceDataSet.WebsitePageDownloadDataTable)
If tempTable.Rows.Count > 0 Then
RemoveHandler maintenanceDataGridView.RowValidated, AddressOf maintenanceDataGridView_RowValidated
Processor.Data.WebsitePageDownload.LoadingTable = True
Processor.Data.WebsitePageDownload.Merge(tempTable, False)
Processor.Data.WebsitePageDownload.LoadingTable = False
Processor.Data.WebsitePageDownload.RejectChanges()
AddHandler maintenanceDataGridView.RowValidated, AddressOf maintenanceDataGridView_RowValidated
Processor.Data.WebsitePageDownload.Merge(tempTable)
'For Each row As DataRow In tempTable.Rows
' If row.RowError IsNot Nothing AndAlso row.RowError.Length > 0 Then
' MsgBox(row.RowError)
' End If
' ' MsgBox(row("URL").ToString)
'Next
'MsgBox(Processor.Data.WebsitePageDownload.Columns("defaultstatusid").MaxLength)
Processor.Data.WebsitePageDownload.AcceptChanges()
End If
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
tempTable = Nothing
Me.StatusMessage = String.Empty
End Sub
error gets thrown on acceptchanges
|
|
|
|
|
Where does the error occur?
Please edit your question and put <pre> tags around your code so it looks like:
Processor.Data.WebsitePageDownload.RejectChanges()
AddHandler maintenanceDataGridView.RowValidated, AddressOf maintenanceDataGridView_RowValidated
and indicate exactly which line the error occurs on.
|
|
|
|
|
 Thanks for your response. The error occur on the acceptchanges line
Private Sub m_maintenanceProcessor_WebsiteUpdated(ByVal sender As Object, ByVal e As Processors.EventArgs) Handles m_maintenanceProcessor.WebsiteUpdated
Dim tempTable As MaintenanceDataSet.WebsitePageDownloadDataTable
Try
If e.Data.Contains("ModifiedRows") = False Then Exit Sub
tempTable = CType(e.Data("ModifiedRows"), MaintenanceDataSet.WebsitePageDownloadDataTable)
If tempTable.Rows.Count > 0 Then
RemoveHandler maintenanceDataGridView.RowValidated, AddressOf maintenanceDataGridView_RowValidated
Processor.Data.WebsitePageDownload.LoadingTable = True
Processor.Data.WebsitePageDownload.Merge(tempTable, False)
Processor.Data.WebsitePageDownload.LoadingTable = False
Processor.Data.WebsitePageDownload.RejectChanges()
AddHandler maintenanceDataGridView.RowValidated, AddressOf maintenanceDataGridView_RowValidated
Processor.Data.WebsitePageDownload.Merge(tempTable)
Processor.Data.WebsitePageDownload.AcceptChanges()
End If
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
tempTable = Nothing
Me.StatusMessage = String.Empty
End Sub
|
|
|
|
|
You will need to use your debugger to find out which reference in that line is invalid.
|
|
|
|
|
what i know for a fact is the is a field that is set for 2000 characters but once this field goes over 350 the error gets triggered, other than that the application is fine
|
|
|
|
|
Rhyde Marsh wrote: what i know for a fact But that is hardly relevant. Somewhere in your application something is being triggered which causes a null reference to be used. The only way to discover where that is and why, is to do some detailed debugging.
|
|
|
|
|
ok i will get to that. juss that i have been looking and and dont see where
|
|
|
|
|
2000 characters? In which encoding? UTF16?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
sorry for the late response but data field is set to nvarchar 2000
and the MaxInputLength set at 2000
|
|
|
|
|
Rhyde Marsh wrote: nvarchar Good.
Check the line
Processor.Data.WebsitePageDownload.AcceptChanges() Set the cursor on the AcceptChanges method, hit F12. Set breakpoints there, and make sure that the method does not swallow the changes.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
not sure what you mean swallow, but the data is updated but there seems to be a problem when it returns to the UI
|
|
|
|
|
Rhyde Marsh wrote: not sure what you mean swallow, I'm expecting a try-catch in that method that hides the exception that is thrown.
Rhyde Marsh wrote: the data is updated but there seems to be a problem when it returns to the UI Is the data updated beyond the 350-char mark? How do you know there's a problem? Do you have an exception and a stack-trace?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
yes it updates but then i get a nullrefference exception. so before the 350 mark it updates and refresh fine but anything after that i get the error
|
|
|
|
|
Rhyde Marsh wrote: nullrefference exception I assumed that was fixed, based on your previous post.
Can you post the entire stacktrace from the exception?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
no my problem was not solved, but i it seem to be on bug on microsoft side in the control
s at System.Windows.Forms.DataGridView.ComputeVisibleColumns()
at System.Windows.Forms.DataGridView.LayoutScrollBars()
at System.Windows.Forms.DataGridView.ComputeLayout()
at System.Windows.Forms.DataGridView.PerformLayoutPrivate(Boolean useRowShortcut, Boolean computeVisibleRows, Boolean invalidInAdjustFillingColumns, Boolean repositionEditingControl)
at System.Windows.Forms.DataGridView.ResetUIState(Boolean useRowShortcut, Boolean computeVisibleRows)
at System.Windows.Forms.DataGridViewRowCollection.OnCollectionChanged_PreNotification(CollectionChangeAction cca, Int32 rowIndex, Int32 rowCount, DataGridViewRow& dataGridViewRow, Boolean changeIsInsertion)
at System.Windows.Forms.DataGridViewRowCollection.OnCollectionChanged(CollectionChangeEventArgs e, Int32 rowIndex, Int32 rowCount, Boolean changeIsDeletion, Boolean changeIsInsertion, Boolean recreateNewRow, Point newCurrentCell)
at System.Windows.Forms.DataGridViewRowCollection.ClearInternal(Boolean recreateNewRow)
at System.Windows.Forms.DataGridView.RefreshRows(Boolean scrollIntoView)
at System.Windows.Forms.DataGridView.DataGridViewDataConnection.ProcessListChanged(ListChangedEventArgs e)
at System.Windows.Forms.DataGridView.DataGridViewDataConnection.currencyManager_ListChanged(Object sender, ListChangedEventArgs e)
at System.Windows.Forms.CurrencyManager.OnListChanged(ListChangedEventArgs e)
at System.Windows.Forms.CurrencyManager.List_ListChanged(Object sender, ListChangedEventArgs e)
at System.Data.DataView.OnListChanged(ListChangedEventArgs e)
at System.Data.Listeners`1.Notify[T1,T2,T3](T1 arg1, T2 arg2, T3 arg3, Action`4 action)
at System.Data.Index.OnListChanged(ListChangedEventArgs e)
at System.Data.DataTable.ResetInternalIndexes(DataColumn column)
at System.Data.DataTable.Clear(Boolean clearAll)
at MCAP.MaintenanceDataSetTableAdapters.WebsitePageDownloadTableAdapter.FillByWhereClause(WebsitePageDownloadDataTable dataTable, String whereClause) in C:\Users\mmarshall.MTMOBAY\Desktop\Mark\MCAP\DataSet\MaintenanceDataSet.Designer.vb:line 35940
at MCAP.UI.Processors.Maintenance.LoadFilteredWebsite(String filterCondition) in C:\Users\mmarshall.MTMOBAY\Desktop\Mark\MCAP\UIProcess\Maintenance.vb:line 6328
i found similar issue on microsoft site
https://social.msdn.microsoft.com/Forums/ro-RO/bdbd2524-a07a-4deb-bbd4-d937fdd691c4/systemnullreferenceexception-when-clicking-column-header?forum=winformsdatacontrols[^]
|
|
|
|
|
That could be tested easily by giving the columns a fixed width
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
yes, but cannot be limited because the length of the url entered is unknown
|
|
|
|
|
This is not helping much, we're talking about different things.
If you can fix the size of the column in the grid in where it is displayed to 100 pixels, then you can still enter long strings. It would prove whether or not the observed behaviour is caused by the internal resizing, or somewhere else.
If fixing the width helps, then you'll need to look for other alternatives or find a fix. If fixing the width does not help, then the error is occurring somewhere else.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|