Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Linienfarbe mehrerer Zellen einer Tabelle ändern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Linienfarbe mehrerer Zellen einer Tabelle ändern (1036 mal gelesen)
tolo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von tolo an!   Senden Sie eine Private Message an tolo  Schreiben Sie einen Gästebucheintrag für tolo

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 05. Okt. 2017 18:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich möchte die Linienfarbe einiger Zellen in einer Tabelle (Plist) ändern.
Mit theCellPrefs.bottom_line_cfw(0) bzw. theCellPrefs.right_line_cfw(0) klappt das auch gut,
aber wie kann ich die obere bzw. äußerst linke Linie auch ändern?

Danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sirus
Ehrenmitglied
CAD Applikationsentwickler


Sehen Sie sich das Profil von Sirus an!   Senden Sie eine Private Message an Sirus  Schreiben Sie einen Gästebucheintrag für Sirus

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 06. Okt. 2017 12:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tolo 10 Unities + Antwort hilfreich

...ich habe das wie folgt (schnipsel) gemacht mit:

Dim tabular_note_sl As NXOpen.Tag
Dim zeile_count As Integer
Dim rowTag_sl As NXOpen.Tag = NXOpen.Tag.Null ' zeile

' eigenschaften (stil) defineiren für stil der tabelle für rand aussen
Dim cfw(2) As Integer ' Color/font/width
cfw(0) = 178
cfw(1) = 1
cfw(2) = 3

ufs.Tabnot.AskNthRow(tabular_note_sl, zeile_count, rowTag_sl)

' links
ufs.TABNOT.SetRowHeadCfw(rowTag_sl, cfw)

Dim colTag_sl As NXOpen.Tag = NXOpen.Tag.Null ' spalte
Dim tableSection_sl As NXOpen.Tag

' oben
ufs.TABNOT.SetColumnHeadCfw(colTag_sl, tableSection_sl, cfw)

------------------
gruss urs 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tolo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von tolo an!   Senden Sie eine Private Message an tolo  Schreiben Sie einen Gästebucheintrag für tolo

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 06. Okt. 2017 15:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Urs,

vielen Dank, das hat mir auf alle Fälle schon mal weiter geholfen.

Allerdings habe ich nach wie vor das Problem z.B. von einer Zelle in der 3. Reihe und 4. Spalte die obere bzw. linke Linie zu formatieren.

Ich habe mir damit beholfen, auch die darüber liegende bzw. linke Nachbarzelle auch zu formatieren. Sicher nicht die eleganteste Lösung, habe aber nichts besseres gefunden.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

muellertz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von muellertz an!   Senden Sie eine Private Message an muellertz  Schreiben Sie einen Gästebucheintrag für muellertz

Beiträge: 118
Registriert: 06.08.2010

NX 8.5.3.3
Teamcenter 8
Windows 7 64-bit

erstellt am: 20. Mrz. 2018 07:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tolo 10 Unities + Antwort hilfreich

Das sollte auch gehen, aber es wird gleich die ganze Tabelle geändert
korrigiert mich, wenn ich falsch liege...

Codeschnipsel

Code:
Dim Farbe = 216

        Dim displayModification1 As DisplayModification
        displayModification1 = theSession.DisplayManager.NewDisplayModification()

        displayModification1.NewColor = Farbe

        Dim objects1 As TaggedObject() = Nothing
        StuecklisteSelektieren(objects1)

        Dim displayableobjects2 = objects1

        Dim objects2(objects1.Length - 1) As DisplayableObject
        Dim ii As Integer = 0
        For Each obj As NXObject In objects1

            objects2(ii) = objects1(ii)
            ii = ii + 1

        Next

        displayModification1.Apply(objects2)

        displayModification1.Dispose()



Ich habe allerdings das Problem, das ich die Textgröße und die Schriftart in der Tabelle nicht ändern kann.
Gibt es da eine Möglichkeit die Textgröße und Schriftart anzupassen ohne in jede Zelle zu springen?

------------------
MFG Thomas

NX 10.0.3.5
Teamcenter 11
Windows 7 64-bit

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Werkstudententätigkeit im Bereich Artificial Intelligence Research ab August 2024
Life is always about becoming? Im Leben geht es darum, sich auf eine Reise zu begeben, um die beste Version unseres zukünftigen Selbst zu werden. Während wir Neues entdecken, stellen wir uns Herausforderungen, meistern sie und wachsen über uns hinaus.

Bewerben Sie sich bei Mercedes-Benz und finden Sie den Aufgabenbereich, in dem Sie Ihre Talente individuell entfalten können. Dabei werden Sie von visionären Kolleginnen und Kollegen unterstützt, die Ihren Pioniergeist teilen....
Anzeige ansehenWeitere: IT
tolo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von tolo an!   Senden Sie eine Private Message an tolo  Schreiben Sie einen Gästebucheintrag für tolo

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 22. Mrz. 2018 08:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

dein script funktioniert zunächst einmal ganz gut, aber zum einen wird die Farbe für die Linien und den Text gleich gesetzt, was ich nicht möchte und zum anderenn habe ich auch keine Möglichkeit gefunden den Textfont (incl. Strichstärke) zu ändern.
deshalb mal hier meine Lösung in der Hoffnung, dass es dir vieleicht etwas weiter hilft.


Herzliche Grüße


Thomas


    tab = CType(oman.GetTaggedObject(plist(0)), Annotations.Table)

            Dim numRows As Integer
            ufs.Tabnot.AskNmRows(tab.Tag, numRows)

            Dim numCols As Integer
            ufs.Tabnot.AskNmColumns(tab.Tag, numCols)

    Dim tableSectionTag As Tag
            ufs.Tabnot.AskNthSection(tab.Tag, 0, tableSectionTag)
            ufs.Tabnot.EnableAutomaticUpdate(False)

            'Liniendefinition: Color, font, width
            cfw(0) = 2  '2 = grün
            cfw(1) = 1
            cfw(2) = 7  '7 = 0,25

            For i As Integer = 0 To numRows - 1

                Dim rowTag, rowTagvorher As Tag
                ufs.Tabnot.AskNthRow(tab.Tag, i, rowTag)

                If Not i = 0 Then
                    ufs.Tabnot.AskNthRow(tab.Tag, i - 1, rowTagvorher)
                    ufs.Tabnot.SetRowHeadCfw(rowTagvorher, cfw)
                End If

                ufs.Tabnot.SetRowHeadCfw(rowTag, cfw)

                For j As Integer = 0 To numCols - 1

                    Dim colTag As Tag
                    ufs.Tabnot.AskNthColumn(tab.Tag, j, colTag)

                    Dim cellTag, cellTagvorher As Tag
                    ufs.Tabnot.AskCellAtRowCol(rowTag, colTag, cellTag)

                    If Not i = 0 Then
                        Dim theCellPrefs1 As UFTabnot.CellPrefs = Nothing
                        ufs.Tabnot.AskCellAtRowCol(rowTagvorher, colTag, cellTagvorher)
                        ufs.Tabnot.AskCellPrefs(cellTagvorher, theCellPrefs1)
                        If Not theCellPrefs1.bottom_line_cfw(0) = cfw(0) Then
                            theCellPrefs1.bottom_line_cfw = cfw
                            ufs.Tabnot.SetCellPrefs(cellTagvorher, theCellPrefs1)
                        End If
                    End If

                    'get the current cell preferences
                    Dim theCellPrefs As UFTabnot.CellPrefs = Nothing
                    ufs.Tabnot.AskCellPrefs(cellTag, theCellPrefs)
               
                    theCellPrefs.text_color = 6  '6 = gelb

                    theCellPrefs.bottom_line_cfw = cfw
                    theCellPrefs.right_line_cfw = cfw
                    theCellPrefs.text_density = 1

                    'apply the new settings to the cell
                    ufs.Tabnot.SetCellPrefs(cellTag, theCellPrefs)

                    'End If
                Next

            Next

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz