We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Custom Group View

I need create a my own node palette kind of list view. This list view store my custom nodes with my own groupping functionality. However, after the drag node over the my palette to diagram. Is any example code or documentation available this issue ?

Thank you


8 Replies

AD Administrator Syncfusion Team November 26, 2008 05:31 AM UTC

Hi Tezcan,

If I am right in my understanding, is your requirement to create a palette and then add your custom nodes (custom group nodes) to it for end users to drag and drop to the diagram?

Any more information will help me give you the exact solution you seek, Thanks!

- Ajeet



FY Fatih YASAR November 26, 2008 08:23 AM UTC

Absolutely,
I need custom groupview.
Otherway, I developed small test application and I deployed some machine (windows xp sp2)
Bu I saw some error, on the GDI+. How can i resolve this problem ?

Received error is :

************** Exception Text **************
System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawString(String s, Font font, Brush brush, RectangleF layoutRectangle, StringFormat format)
at Syncfusion.Windows.Forms.Tools.GroupView.DrawText(Graphics gph, Int32 nindex, Rectangle rc, ItemState state)
at Syncfusion.Windows.Forms.Tools.GroupView.DrawItem(Graphics gph, Int32 nindex, Rectangle rc, ItemState state)
at Syncfusion.Windows.Forms.Tools.GroupView.DrawItemHighlight(Graphics gph, Int32 nindex, Rectangle rcitem, ItemState state)
at Syncfusion.Windows.Forms.Tools.GroupView.DrawAllItems(Graphics gph)
at Syncfusion.Windows.Forms.Tools.GroupView.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at Syncfusion.Windows.Forms.Tools.GroupView.WndProc(Message& m)
at Syncfusion.Windows.Forms.Diagram.Controls.PaletteGroupView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Thank you for your support




AD Administrator Syncfusion Team November 26, 2008 11:28 AM UTC

Hi Tezcan,

To create a Palette with your custom designed nodes; you can use the Symbol Designer utility provided with the Essential Studio, to create your own Palette and symbols (Custom Nodes).

Its more easy to use and create symbols and add them to a palette.

The procedure:
**************
1. Open Start>Programs>Syncfusion>Essential Diagram>Windows>Utility>Symbol Designer
2. Click file>New Palette
3. Enter some name
4. Click "Add Symbol"
5. Draw your custom symbol here
6. If symbol is ready, then provide some name in the right side pane
7. Click save when done
8. Similarly create as many new custom symbols you want, and they'll get added to your palette, as seen on the left side
9. Then save the palette with some name, with extension (.EDP)

The file you created will be ".edp".

To load this into your program, use the following code snippet:

****
this.paletteGroupView1.LoadPalette(@"C:\Test.edp");
****

Assuming the file is "Test.edp" and located in "C:\".

The use of "@" symbol ensures that the special characters "\" are permitted to be used to define path for the file.

I am sure this will help you resolve this query.

Happy Coding!

- Ajeet





FY Fatih YASAR November 26, 2008 12:52 PM UTC

Hi Ajeet,
I was use your procedure as well, but it is working on my development machine correctly, also it isn't working on test machine (See to my previously message in exception). I don't know why is cannot work another machine.

However, this exception came from syncfusion groupview component (I guess), the GDI+ on the windows xp, I was thing change group view to native treeview or listview.

And also, I use symbol designer, but I created nodes from images on the symbol designer.

What my wrong ?

Thank you for your quick support



AD Administrator Syncfusion Team November 27, 2008 08:08 AM UTC

Hi Tezcan,

It seems that the machine where you are deploying the application has not got the syncfusion assemblies installed to the GAC.

You could, at compile time select the Syncfusion assemblies under the References tab in the solution explorer and under properties, select Copy Local to "True".

Let me know if this helps!

Happy Coding!

- Ajeet




AD Administrator Syncfusion Team November 27, 2008 10:43 AM UTC

Hi Tezcan,

Can you provide us the application sample with the EDP file so that we can have proper check on this issue. Also, I would be glad if you could also send us your machine configuration, so that the solution could be provided to you at the earliest.

Thanks for your constant patronage to our products and services.

Regards,
- Ajeet



FY Fatih YASAR November 28, 2008 08:33 AM UTC

Here is the my symbol palette.


>Hi Tezcan,

Can you provide us the application sample with the EDP file so that we can have proper check on this issue. Also, I would be glad if you could also send us your machine configuration, so that the solution could be provided to you at the earliest.

Thanks for your constant patronage to our products and services.

Regards,
- Ajeet





Plan_37e46d05.zip


AD Administrator Syncfusion Team December 1, 2008 01:52 PM UTC

Hi Tezcan,

I am afraid but I was not able to reproduce the issue.

I successfully managed to have my sample run on a computer without any of the Syncfusion assemblies in the GAC as well as the Public Assemblies folder.

I used the assemblies by default copied into the Bin folder during the compile time.

The sample executed successfully, with your palette loaded and also I was able to drag and drop nodes from the Palette to the Diagram successfully.

I am attaching my sample file for your convenience.

Before running the sample do the following:

1. Open the Syncfsuion DashBoard - > Assembly Manager

2. Select Remove all versions

3. Ensure that all of the Syncfusion Assemblies are removed from the GAC ("c:\windows\assembly" folder)

4. Go to the Public Assemblies folder at:

For VS2005:
-----------
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies

For VS2008:
-----------
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies

5. Remove all the references to the Syncfusion Assemblies

6. Now try running the sample by unzipping it and select the solution file (SLN file)

7. Execute it, it runs successfully and also the drag and drop from palette is successful!

Let me know if you shall need any further clarifications in this regard, Thanks!

Happy Coding!

-Ajeet



DWinF_Palette_4a439644.zip

Loader.
Live Chat Icon For mobile
Up arrow icon