LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

OpenSource Project for a .NET Datagrid for LabVIEW

Solved!
Go to solution

I'm curious if there is any community interest in building a .NET datagrid wrapper for use and integration with LabVIEW?

 

I despise LabVIEW tables and have some usable code for integrating .net datagrids into LabVIEW with some flexible data types and I'm curious if others are interested in this as an open source project.  If so, please respond with your interest as an:

1. Consumer of the tool for use in your own projects

2. Contributor to the tool to help build it for others' use

 

Also, I'd put it up on github likely and am curious what others would like to see in such a tool.

 

My initial thinking is a features set in the following priorities (again looking for contributors)

1. a datagrid class to wrap and hide the .net component similar to the report generation toolkit

2. a basic replacement of the LabVIEW table with a few enabled default behaviors such as sortable, movable columns with auto filling columns and word wrap obviously.

3. various data types (string, link, checkbox, rings, link, image) that would show as column types (possibly customer row types) for content in the table

4. Auto drawing cluster data or string based data into a grid that has the appropriate datatypes defined (I'll post some samples of this concept soon)

5. Event triggers with callbacks or user events to handle clicks, edits and selections in the grid.

6. Advanced properties and customizations with class property extensions for easy use in the wrapper LabVIEW class.

7. more potential.

 

Mike King

Sr. Director R&D

Advanced Measurements Inc

Message 1 of 30
(5,183 Views)

I would definitely be interested in seeing what an alternative table control could offer. I tend to use a lot of MCLs and tables (and sometimes trees) in my applications (even often replacing things like graph legends with tables) but it isn't exactly a dream to work with (such as the table flickering hack) so I would be interested in alternatives.

0 Kudos
Message 2 of 30
(5,156 Views)

OK Great Sam, here are a few screens of some things I've started that would be a baseline for the table.  I've only started with display only, no events from it yet and just some basic data type conversion for display on the grid.

 

The grid has column types defined and then the data can be set by either cluster array with the appropriate data types or an equivalent string 2D data table.  I've thinking of making the columns detect the data type of the cluster and automatically display that content for things like booleans, rings or files.  Very future though.  Basics are needed first.

 

Frontpanel.png

Data Injection.pngStringData.png

 

Message 3 of 30
(5,131 Views)
Solution
Accepted by Mike_King

The initial code repository and example are now up on github

https://github.com/unipsycho/LabVIEWdotNetDataGrid/

Message 4 of 30
(5,100 Views)

Looks cool, kudos!

 

Always interested to see projects getting shared on Github.  Hopefully you get some contributions!

 

Shared it over on this thread: https://decibel.ni.com/content/message/115455#115455


Regards,

Peter D

0 Kudos
Message 5 of 30
(4,929 Views)
Highlighted

Mike,

 

I have tried your code from GitHub.  I felt there is a lag in loading time when I use datagrid.  I can visually see that datacontainer is empty when I opened the executable and then it loads the data rows one by one.  How can we avoid this lag?

Message 6 of 30
(4,878 Views)

What's the LabVIEW version used to generate the repo?

0 Kudos
Message 7 of 30
(4,851 Views)

The repo is LabVIEW 2014 at the moment.

0 Kudos
Message 8 of 30
(4,776 Views)

Hey people,

 

I've updated the grid with a better example, with much more data in it to optimize for speed.  The grid is now done properly with databinding to a dataTable, so the dataset is created and managed first, then the datasource set and instant refresh.  Should be much better working with the grid using this now.  Had to loose a couple planned data types, have no idea how to bind them yet.

 

So, there is native support now for strings, timestamps, numberics, checkbox/booleans, and images.  Check it out on github.

GitHub v0.1 archive download

 

 

Message 9 of 30
(4,629 Views)

Hi Mike, Saw this thread had been updated and since you provided a convenient link I had a look at the example.

 

Looks great - the fact that you can sort the data so easily (and drag columns around etc.) is pretty cool and it looks very nice compared to the LabVIEW equivalents.

 

I did notice that it struggles a bit with scrolling / resizing - slow panel updates and high CPU usage. I wonder if maybe it would struggle with displaying real-time data?

 

It has got my interest though...I'm curious as to what else is possible with it (e.g. saving column positions, entering data etc.).

0 Kudos
Message 10 of 30
(4,535 Views)