创建列表框或组合框的多列下拉部分

时间:2019-03-06 21:52:08

标签: shieldui

我已经设法为组合框创建了一个多列下拉列表部件,如图所示。

Multi-column combobox 但是,我真的不喜欢这样做的方式,因为我基本上更改了默认类(sui-listbox),该类会弄乱所有组合框和列表框。

.sui-listbox {
    width: 450px !important;
}

<script id="ddl-template" type="text/x-shieldui-template">
<div class="ddl">
    <table border="0">
        <col width="130">
        <col width="80">
        <col width="100">
        <col width="140">
        <tr><td>{RecNo}</td><td>{PONo}</td><td>{Date}</td><td>{Stamp}</td></tr>
    </table>
</div>

有更好的方法吗?我确实在很多地方都需要此功能。

哦!我发布了另一条有关将标题添加到下拉部分的消息。能够将列标题添加到多列下拉列表中将是很棒的事情。

谢谢

pt

1 个答案:

答案 0 :(得分:0)

您可以使用cls setting为ComboBox添加自定义类,然后将CSS选择器更改为:

import random
import time

class card():
    def __init__(self):
         cardNum = ["1","2", "3", "4", "5", "6", "7", "8", "9", "10", "10", "10"]
        randNum = random.randint(0, len(cardNum) - 1)
        cardSuit = ["Hearts", "Clubs", "Diamonds", "Spades"]
        randSuit = random.randint(0, len(cardSuit) - 1)

        self.rank = cardNum[randNum]
        self.suit = cardSuit[randSuit]

    total1 = []
    total2 = []
    total1.append(self.rank)

    def printIntro():
        print("Blackjack (twenty-one) is a casino game played with cards.")
        print("the goal of game is to draw cards that total as close to 21 
points, as possibale")
        print("without going over( whose hand > 21 will bust). All face 
cards count as 10 points,")
        print("aces count as 1 or 11, and all other cards count their 
numeric value.")
        print("\nFirstly, your turn:")


    def displayCard(self):


        return (self.rank+ " of "+ self.suit)

    def totalScore(self, ans="Y"):
        total1 = []
        total2 = []

        if ans == "Y":
            totalscore1 = total1.append(self.rank)
            return totalscore1
            ans = "N"
        if ans == "N":
            totalscore2 = total2.append(self.rank)
            return totalscore2


    def aceOption(self, cards1, cards2):
        if "Ace" in cards1:
            print("You have an ACE!")
            opt = int(input("Would you like ACE to be 1 or 11?: "))

            if opt == "1":
                aceVal(1)
            elif opt == "11":
                aceVal(11)

        elif "Ace" in cards2:
            print("You have an ACE!")
            opt = int(input("Would you like ACE to be 1 or 11?: "))

            if opt == "1":
                aceVal(1)
            elif opt == "11":
                aceVal(11)

    def nextOption(self):
        opt = input("Would you like to (T)WIST, or (S)TICK?")
        if opt == "T":
            #make twist function
        elif opt == "S":
            #make stick function

#myCard = card()

class player():
    def __init__(self, name="bob"):
        self.cards = []
        self.name = name
        self.cards2 = []

    def dealer1go(self):
        for i in range(0, 1):
            newcard = card()
            self.cards2.append(newcard.displayCard())

    def player1go(self):
        for i in range(0, 1):
            newcard = card()
            self.cards.append(newcard.displayCard())

class totalAmount():
    def __init__(self):
        pass




player1 = player("Matt")
dealer = player("Kieron")
deck = card()
intro =card.printIntro()
print(" ")
print(intro)


print("\nPlayer1 is dealt two cards..")
print("-------------------------------\n")
time.sleep(1)
print("\nDealer has two cards..")
print("-------------------------------\n")
time.sleep(1)

for i in range(1, 3):
    player1.player1go()
    dealer.dealer1go()

print("Player1 cards: ", player1.cards)
#card.totalScore("Y")
deck.aceOption(player1.cards, dealer.cards2)

print("Dealers cards: ", dealer.cards2)
#card.totalScore("N")
deck.aceOption(player1.cards, dealer.cards2)

deck.nextOption()



card()

因此它仅适用于具有此类的特​​定组合中的列表框。