|
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[^]
|
|
|
|
|
had to change the column to accomodate a popup wasnt getting anywhere with it
|
|
|
|
|
Hi everybody!
I hope I am posting this question on the correct forum but anyway, I'm having some difficulty getting a Legend on a Chart Control to behave in the way I would like it to.
I want the legend to be placed under the chart, and legend items for each series to be added to the legend in the order the series are added to the chart.
Say I have 6 series which are added to the chart in order: A, B, C, D, E, F.
Suppose that the chart area in which the legend is docked is such a size that the legend has 3 columns.
I want the legend to be filled like so:
A B C
D E F
i.e. columns first, then rows.
Frustratingly, this is not the behaviour I am getting.
As I add the first three series all is fine, and I get a legend with 3 columns and 1 row filled like so:
A B C
But when I add a 4th series, instead of getting:
A B C
D
as one might expect, the legend looks like this:
A C D
B
Then when I add the next series I get:
A C E
B D
And when I add the final series I get:
A C E
B D F
This is really frustrating me as I have trawled the internet and cannot find any mention of this issue, let alone an answer. Surely wanting the legend to be filled columns first, then rows, would be the most logical way of doing it, so I can't believe that the .NET guys haven't allowed for this possibility.
Anyway, my legend is set with the following properties:
Legend legend = new Legend("Legend1");
legend.LegendItemOrder = LegendItemOrder.ReversedSeriesOrder;
legend.Alignment = StringAlignment.Center;
legend.Docking = Docking.Bottom;
legend.LegendStyle = LegendStyle.Table;
legend.TableStyle = LegendTableStyle.Wide;
legend.IsEquallySpacedItems = true;
legend.AutoFitMinFontSize = 6;
legend.IsTextAutoFit = true;
chart.Legends.Add(legend);
Can anyone please help me?
Thanks, Nick
|
|
|
|
|
I'm sure you have searched plenty
http://stackoverflow.com/questions/1917798/ms-chart-control-change-the-order-of-series-in-a-legend[^]
I don't know the complexity of your chart, but I do know that the order in which you load the series to the chart is important, and what type of chart you select as well such as a series chart with plot lines.
I guess take a pie chart, now you have a legend to explain the pieces of the pie, there really is no order to it. Unless the largest pieces of the pie down to the smallest are the order.
I've always had to experiment for hours to get them right, and after 100's of them, narrow down which charts to stay away from.
I'm not sure if you can do multiple legends, and display them in rows or columns.
Not the answer you want, but your going have to take to pencil and paper and record your results based on what you get, or try the Microsoft Forum for Chart Control at asp.net
|
|
|
|
|
Hi all,
I am very new to windows form and facing a problem with infragistics numeric editor. I need to allow user to input the value max "100.00%" or below (like 45.78, 99.00, 99.99). I am setting following propety for this:
MaskDisplayMode =IncludeBoth
MastInput= {LOC}nn.nn%
MaxValue= 100
MinValue = 0
It allows user to input 100.99% but i need to restrict so that user cann't input more than 100.00
Help really appreciated.
Thanks,
Sri
modified 17-Sep-14 3:19am.
|
|
|
|