Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Table Click Event

274 views28th March 2025Tables
0
Sanket Gangwal84 26th March 2025 5 Comments

So here we already have 1 table which shows the data of the manufacturer list right , so what new implementation we need is to add new table below that table , initially it should be blank, and when we click on the manufacturer in the above table , list of all the devices related to that manufacturer should populate in below table

Miguel Obregon [SLC] [DevOps Catalyst] Posted new comment 28th March 2025
Miguel Obregon [SLC] [DevOps Catalyst] commented 26th March 2025

Hi Sanket,
I believe you already asked a similar use case, however it was related to dashboards. Is there a specific reason why you need to implement a similar behavior in a connector/driver?

Sanket Gangwal commented 26th March 2025

Hi Miguel, so basically earlier for dashboard we use static method , here we are trying to implement same using dynamic method meaning , we will be taking the data of the devices from the endpoint, so for your reference can I send the QAction method for the same, I am also aware that we can implement the same using Visio as well, but we are trying to do it dynamically

Matthijs Favorel [SLC] [DevOps Advocate] commented 26th March 2025

Hi Sanket,
Please note that this table data is identical for all users, so if multiple users would be using this at the same time, they would overwrite each others "selection".

Sanket Gangwal commented 26th March 2025

<QAction id="1" name="Deserialize and Store Data" encoding="csharp" triggers="200"
dllImport="newtonsoft.json11.0.2libnet45Newtonsoft.Json.dll;sharpziplib.86.0lib20ICSharpCode.SharpZipLib.dll;protobuf-net.dll;SLProtoBufLibrary.dll">
<![CDATA[
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Skyline.DataMiner.Scripting;

public static class QAction
{
public static void Run(SLProtocolExt protocol)
{
try
{
protocol.Log("entered 1");
var content = protocol.GetParameter(200).ToString();
protocol.Log("entered 2");

var data = JsonConvert.DeserializeObject<Rootobject>(content);
protocol.Log("entered 3");
var groupedDevices = data.Results.GroupBy(d => d.device_type.manufacturer.name);
protocol.Log($"{groupedDevices}");

var rows = new List<ProducttableQActionRow>();

foreach (var product in data.Results)
{
var row = new ProducttableQActionRow
{
Productid_1001 = product.Id.ToString(),
Producttitle_1002 = product.Name.ToString(),
Productdescription_1003 = product.Url.ToString(),
Productstatus_1004 = product.status.Value.ToString(),
Productsite_1005 = product.site.Name.ToString(),
};
rows.Add(row);
}

protocol.Log("entered 4");
protocol.producttable.FillArray(rows.ToArray());
}
catch (Exception ex)
{
protocol.Log($"QA{protocol.QActionID}|Run|Exception thrown:{Environment.NewLine}{ex}", LogType.Error, LogLevel.NoLogging);
}
}
}

Miguel Obregon [SLC] [DevOps Catalyst] commented 28th March 2025

Hi Sanket,
Instead of executing queries to the device based on the group selection, I would try to query all devices available using the QAction. You could add an extra column in your device table that contains the type.
In that way you can still use a dashboard/LCA.

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
5
Alen Mehanovic [SLC] [DevOps Advocate]75 Posted 26th March 2025 1 Comment

Hi Sanket,

An initial though I have is to have an additional column of type button in the first table,
and clicking on that button it would trigger a QAction (Important to have row="true").

Then you can take the row on which you clicked the button as:
FirstTableQActionRow row = FirstTableQActionRow((object[])protocol.GetRow(Parameter.FirstTable.tablePid, protocol.RowKey()))

and then based on that data fetch the list of devices and populate the second table.

Sanket Gangwal Posted new comment 26th March 2025
Sanket Gangwal commented 26th March 2025

Hi Alen, thanks for the help

You are viewing 1 out of 1 answers, click here to view all answers.
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes
Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin