整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          界面控件DevExpress WinForms v21.2:Data Grid - 全新的HTML模板

          evExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!

          DevExpress WinForm 已正式發布了重大版本——v21.2,此版本的數據網格控件擁有全新的HTML & CSS模板!歡迎下載最新版體驗!

          DevExpress WinForms Subscription官方最新版免費下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網

          Data Grid

          WinExplorer視圖 - HTML 模板

          新版本的WinForms Data Grid的WinExplorer 視圖現在支持 HTML/CSS 模板,選項包括:

          • 'WinExplorerViewStyleOptions.HtmlTemplate' 屬性現在可用于每個單獨的 WinExplorer 視圖樣式(大圖標、圖塊、詳細信息等),使用此屬性為樣式應用默認 HTML 模板。
          • 'WinExplorerView.HtmlTemplates' 屬性存儲您的模板,要動態應用 HTML 模板,請處理“QueryItemTemplate”事件。

          平鋪視圖 - HTML 模板

          您現在可以創建受 Web 啟發的圖塊并根據需要將它們綁定到數據字段。 要創建受 Web 啟發的磁貼,請將您的 HTML 模板分配給 'TileView.TileHtmlTemplate' 屬性。

          您可以創建多個 HTML 模板并將它們添加到 TileView.TileHtmlTemplates 集合中,處理 CustomItemTemplate 事件來將模板應用到圖塊。

          命名占位符

          您現在可以使用字段名稱作為 CardCaptionFormat 和 RecordHeaderFormat 屬性的占位符。

          C#

          cardView1.CardCaptionFormat = "Record # {0}, {Name}";

          在以前的版本中,您必須通過相應網格列的索引來引用必填字段:

          C#

          cardView1.CardCaptionFormat = "Record # {0}, {2}";

          列標題中搜索框的新 'Text Search'模式

          列標題中的搜索框現在提供全文搜索支持,在之前的版本(v21.1x) 中,搜索框改為使用過濾模式 - 與搜索字符串不匹配的值被隱藏。要激活文本搜索模式,請將“OptionsFilter.InHeaderSearchMode”屬性設置為“TextSearch”。

          注意:此選項在可見數據行中搜索(折疊和組行被忽略),并且在服務器模式下不起作用。

          .NET 5 設計器的數據源配置向導

          需要(尚未實現)Microsoft DataSet 組件的傳統數據源類型的向導選項不起作用,但您現在可以使用此向導連接現有的數據感知控件 到以下數據源類型:

          • ADO.NET 數據集
          • XPO
          • 實體框架
          • MongoDB
          • JSON
          • Excel 工作表
          • 未綁定或 xml 數據

          戰wxPython系列-044

          本文介紹如何在Python的GUI工具中嵌入HTML頁面。

          wxPython的wx.html和wx.html2模塊支持解析和顯示HTML文件內容。wx.html.HtmlWindow對象是一個通用的HTML瀏覽器,但不是一個全功能的瀏覽器,所以支持的功能有限。wx.html.HtmlWindow只支持HTML標準的一個子集,不支持Javascript或者CSS。如果要支持全特性的HTML渲染組件,請使用wx.html2.WebView。

          一、wx.html.HtmlWindow簡介

          wx.html.HtmlWindow控件的目的是顯示基于HTML標準字跡的富內容頁面(本地文件或者通過HTTP下載的網頁文件),一定創建了該窗口控件,可以通過調用SetPage和LoadPage來設置它的內容。

          wx.html.HtmlWindow支持的窗口樣式

          • wx.html.HW_SCROLLBAR_NEVER:不顯示滾動條。
          • wx.html.HW_SCROLLBAR_AUTO:在需要的時候顯示滾動條。
          • wx.html.HW_NO_SELECTION:用戶不可以選擇其中的文本(默認可以)。

          wx.html.HtmlWindow發出的事件

          • EVT_HTML_CELL_CLICKED:單擊wx.html.HtmlCell時產生。
          • EVT_HTML_CELL_HOVER:鼠標經過一個wx.html.HtmlCell時產生。
          • EVT_HTML_LINK_CLICKED:單擊了包含超鏈接的wx.html.HtmlCell時產生。

          wx.html.HtmlWindow常用方法

          • AppendToPage(self, source):將HTML片段附加到當前顯示的文本并刷新窗口。
          • GetOpenedAnchor(self):返回當前打開頁面中的錨點。如果沒有打開任何頁,或者所顯示的頁不是通過調用LoadPage生成的,則返回空字符串。
          • GetOpenedPage(self):返回所打開頁面的完整位置。如果沒有打開任何頁,或者所顯示的頁不是通過調用LoadPage生成的,則返回空字符串。
          • GetOpenedPageTitle(self):返回所打開頁面的標題,如果當前頁面不包含< title >標記,則返回“”。
          • HistoryBack(self):移動回上一頁。只有使用LoadPage顯示的頁面才存儲在歷史列表中。
          • HistoryCanBack(self):如果有可能在歷史頁面向后操作,即返回True。
          • HistoryCanForward(self):如果有可能在歷史中向前操作,即返回True。
          • HistoryClear(self):清除歷史頁面。
          • HistoryForward(self):移動到下一頁。只有使用LoadPage顯示的頁面才存儲在歷史列表中。
          • LoadFile(self, filename):從文件加載HTML頁面并顯示它。
          • LoadPage(self, location):與SetPage不同,這個函數首先從給定的location加載HTML頁面,然后顯示它。
          • OnCellClicked(self, cell, x, y, event):在wx.html.HtmlWindow內單擊鼠標按鈕時調用此方法。默認行為是發出wx.html.HtmlCellEvent,如果事件沒有被處理或跳過,如果單元格包含超文本鏈接,則調用OnLinkClicked。
          • OnCellMouseHover(self, cell, x, y):當鼠標移動到HTML單元格上時調用此方法。默認行為是發出wx.html.HtmlCellEvent。
          • OnLinkClicked(self, link):當用戶單擊超文本鏈接時調用。默認行為是觸發wx.html.HtmlLinkEvent,如果沒有處理或跳過該事件,則調用LoadPage,不做任何其他事情。
          • OnOpeningURL(self, type, url):在URL被打開時調用(當用戶單擊鏈接或加載圖像時)。只有OnOpeningURL返回HTML_OPEN時,URL才會被打開。此方法由wx.html.HtmlParser.OpenURL調用。

          圖1:wx.html.HtmlWindow類繼承關系

          二、wx.html.HtmlWindow演示

          Htmlwin.py文件

          #html窗口(wx.html.HtmlWindow)
          
          import wx
          import wx.html
          
          class SampleHtmlWindow(wx.Frame):
          
              def __init__(self, *args, **kw):
                  super(SampleHtmlWindow, self).__init__(*args, **kw)
          
                  self.InitUi()
          
              def InitUi(self):
                  self.SetTitle("實戰wxPython: HtmlWindow演示")
                  self.SetSize(400, 300)
          
                  panel = wx.Panel(self)
                  vbox = wx.BoxSizer(wx.VERTICAL)
                  hbox = wx.BoxSizer(wx.HORIZONTAL)
          
                  htmlwin = wx.html.HtmlWindow(panel, wx.ID_ANY, style = wx.NO_BORDER)
                  htmlwin.SetStandardFonts()
                  htmlwin.LoadPage("page.html")
                  """
                  htmlwin.SetPage('''
                      <html>
                          <body bgcolor="#fdd22f">
                              <h1>這是標題</h1>
                              <b style="color:blue">實戰wxPython</b>
                              <p>通過RGB值設置背景顏色</p>
                              <br/>
                              <p> 
                                  這是一個段落
                              </p>
                              <i>這是斜體文本</i>
                          </body>
                      </html>
                  ''')
                  """
          
                  vbox.Add((-1, 10), 0)
                  vbox.Add(htmlwin, 1, wx.EXPAND | wx.ALL, 9)
          
                  bitmap = wx.StaticBitmap(panel, wx.ID_ANY, wx.Bitmap("newt.png"))
                  hbox.Add(bitmap, 0, wx.LEFT | wx.BOTTOM | wx.TOP, 10)
          
                  btnOk = wx.Button(panel, wx.ID_ANY, "確定")
                  self.Bind(wx.EVT_BUTTON, self.OnClose, id=btnOk.GetId())
          
                  hbox.Add((100, -1), 1, wx.LEFT)
                  hbox.Add(btnOk, flag = wx.TOP | wx.BOTTOM | wx.RIGHT, border = 10)
          
                  vbox.Add(hbox, 0, wx.EXPAND)
          
                  panel.SetSizer(vbox)
          
                  self.Centre()
          
              def OnClose(self, e):
                  self.Close()
          
          def main():
              app = wx.App()
              sample = SampleHtmlWindow(None)
              sample.Show()
              app.MainLoop()
          
          if __name__ == "__main__":
              main()

          page.html文件

          <!DOCTYPE html>
          <head>
              <meta charset="UTF-8">
          </head>
          <html>
              <table cellspacing="5" border="0" width="250">
                  <tr width="200" align="left">
                      <td bgcolor="#e7e7e7">  Maximum</td>
                      <td bgcolor="#aaaaaa">  <b>9000</b></td>
                  </tr>
                  <tr align="left">
                      <td bgcolor="#e7e7e7">  Mean</td>
                      <td bgcolor="#aaaaaa">  <b>6076</b></td>
                  </tr>
                  <tr align="left">
                      <td bgcolor="#e7e7e7">  Minimum</td>
                      <td bgcolor="#aaaaaa">  <b>3800</b></td>
                  </tr>
                  <tr align="left">
                      <td bgcolor="#e7e7e7">  Median</td>
                      <td bgcolor="#aaaaaa">  <b>6000</b></td>
                  </tr>
                  <tr align="left">
                      <td bgcolor="#e7e7e7">  Standard Deviation</td>
                      <td bgcolor="#aaaaaa">  <b>6076</b></td>
                  </tr>
              </table>
          </html>

          上面的示例演示了如何使用wx.html.HtmlWindow來加載一個html文件并顯示它。

          htmlwin = wx.html.HtmlWindow(panel, wx.ID_ANY, style = wx.NO_BORDER)
          htmlwin.SetStandardFonts()
          htmlwin.LoadPage("page.html")

          創建wx.html.HtmlWindow對象,然后使用LoadPage方法加載文件。

          圖2:wx.html.HtmWindow演示

          三、本文知識點

          • 了解wx.html.HtmlWindow控件。
          • 使用wx.html.HtmlWindow加載并顯示HTML文件。

          前一篇:wxPython - 高級控件之表格Grid

          請關注,評論,收藏,點贊,和轉發。

          天這篇文章我們主要來看一下表單的控件都有哪些,如何使用表單標簽,與用戶交互。

          (1)網站怎樣與用戶進行交互?

          答案是使用HTML表單(form)。表單是可以把瀏覽者輸入的數據傳送到服務器端,這樣服務器端程序就可以處理表單傳過來的數據。

          使用語法:<form method="傳送方式" action="服務器文件"></form>

          詳細講解:

          1、<form> :<form>標簽是成對出現的,以<form>開始,以</form>結束。

          2、action :瀏覽者輸入的數據被傳送到的地方,比如一個PHP頁面(save.php),后臺可以通過這個文件來接收前端傳過去的數據資料并進行分析處理。

          3、method : 數據傳送的方式(get/post),get多用于獲取數據,post多用于提交數據(關于這一塊大家可以簡單了解一下即可,后期我們會在網站制作的時候進行講解)。

          注意:所有表單控件(文本框、文本域、按鈕、單選框、復選框等)都必須放在 <form></form> 標簽之間(否則用戶輸入的信息可提交不到服務器上哦!)。

          (2)表單控件介紹

          1)文本輸入框、密碼輸入框

          當用戶要在表單中鍵入字母、數字等內容時,就會用到文本輸入框。文本框和密碼框只有type類型的區別,其它的寫法是一樣的。

          使用語法:

          文本輸入框:<input type="text" name="文本名稱" value="文本內容" placeholder="文本提示信息" />

          密碼輸入框:<input type="password" name="密碼名稱" value="密碼信息" placeholder="密碼提示信息" />

          詳細講解:

          1、type:當type="text"時,輸入框為文本輸入框,輸入的文字是可以看見的;當type="password"時, 輸入框為密碼輸入框,輸入的文字內容是無法看見的。

          2、name:為文本框/密碼框命名,以備后臺程序使用。

          3、value:為文本輸入框輸入的內容。

          4、placeholder:當我們的value內容為空的時候顯示,用于提示輸入框輸入信息格式;

          使用練習:我們創建一個表單,表單里邊包含用戶名和密碼輸入框。具體的代碼如下圖所示:

          在網頁中的顯示效果如下所示:

          2)多行文本輸入框

          上邊文本輸入框用于輸入單行的文本內容,當用戶需要在表單中輸入大段文字時,需要用到文本輸入域。

          使用語法:<textarea rows="行數" cols="列數" placeholder="多行文本提示信息" >文本</textarea>

          詳細講解:

          1、<textarea>標簽是成對出現的,以<textarea>開始,以</textarea>結束。

          2、cols:用于控制多行輸入域的列數,rows :用于控制多行輸入域的行數。

          3、placeholder:當我們的textarea內容為空的時候顯示,用于提示輸入框輸入信息格式;

          使用練習:我們創建一個新的表單,表單里邊包含用戶名和密碼輸入框和用戶個人簡介多行輸入框。具體的代碼如下圖所示:

          我們再網頁中的顯示效果就如下圖所示:

          好了,本篇文章就先給大家介紹這兩個表單控件的語法以及使用,下篇文章我們將介紹下拉框、選擇框、多選框的語法及使用,記得要多加練習才是王道。

          每日金句:把每一件簡單的事做好就是不簡單;把每一件平凡的事做好就是不平凡。喜歡我的文章的小伙伴記得關注一下哦,每天將為你更新最新知識。


          主站蜘蛛池模板: 一区二区三区视频| 熟女少妇丰满一区二区| 成人区人妻精品一区二区不卡网站| 无码一区二区三区亚洲人妻| 高清一区二区三区| 国产精品视频一区二区三区经 | 中文字幕亚洲乱码熟女一区二区 | 一区二区精品视频| 一区三区三区不卡| 久久久久女教师免费一区| 狠狠做深爱婷婷综合一区 | 国产一区视频在线免费观看| 亚洲综合一区二区| 国产色情一区二区三区在线播放 | 亚洲国产精品一区二区第四页 | 久久久国产一区二区三区| 精品伦精品一区二区三区视频 | 视频精品一区二区三区| 日本亚洲国产一区二区三区| 久久久久人妻一区二区三区vr| 日韩精品无码一区二区三区AV| 日本一区二区三区在线视频观看免费| 国产未成女一区二区三区 | 国产福利一区二区| www一区二区三区| 亚洲av色香蕉一区二区三区| 国产精品无码一区二区三区电影 | 久久伊人精品一区二区三区| 中文字幕亚洲综合精品一区| 亚洲一区二区三区久久久久| 国产精品日韩一区二区三区| 成人无码一区二区三区| 中文字幕无线码一区二区 | 无码一区二区三区老色鬼| 加勒比无码一区二区三区| 日产一区日产2区| 国产精品无码一区二区三区在| 国产一区二区三区免费| 精品一区二区无码AV| asmr国产一区在线| 国产精品福利一区二区|