顯示具有 程式 標籤的文章。 顯示所有文章
顯示具有 程式 標籤的文章。 顯示所有文章

Asp.net Calendarextender 日期無法完全顯示問題

Asp.net Calendarextender 日期無法完全顯示問題

Asp.net Calendarextender 日期無法完全顯示問題

最近遇到一個奇怪的問題,使用AJAX Calendarextender 在 MasterPage 裡面時,會有日期無法完全顯示,找了一堆方法都無法解決,不過終於找到方法解決,真的很容易,只要改掉CSS即可。

調整 CSS 的 Width 屬性:
.ajax__calendar_container
.ajax__calendar_body

1.在CSS 設定屬性:
.MyCalendar .ajax__calendar_container {
border:1px solid #646464;
background-color:White;
color: black;
width:180px;
}
2.在Calendarextender 屬性:CssClass=MyCalendar


附上Calendarextender CSS 代碼:

.ajax__calendar_container {padding:4px;position:absolute;cursor:default;width:170px;font-size:11px;text-align:center;font-family:tahoma,verdana,helvetica;}
.ajax__calendar_body {height:139px;width:170px;position:relative;overflow:hidden;margin:auto;}
.ajax__calendar_days, .ajax__calendar_months, .ajax__calendar_years {top:0px;left:0px;height:139px;width:170px;position:absolute;text-align:center;margin:auto;}
.ajax__calendar_container TABLE {font-size:11px;}
.ajax__calendar_header {height:20px;width:100%;}
.ajax__calendar_prev {cursor:pointer;width:15px;height:15px;float:left;background-repeat:no-repeat;background-position:50% 50%;background-image:url(WebResource.axd?d=x6lt9HfG5Si8NZjMNt1DLcY6US8hUl3G4muzIFtahMQFZTbwxJ00qsx5N8jeAW90ZvGxZ6SJJh48yx62JKItzQ2&t=633053122925312500);}
.ajax__calendar_next {cursor:pointer;width:15px;height:15px;float:right;background-repeat:no-repeat;background-position:50% 50%;background-image:url(WebResource.axd?d=x6lt9HfG5Si8NZjMNt1DLcY6US8hUl3G4muzIFtahMQFZTbwxJ00qsx5N8jeAW90HZemRms4wXOo1BZWTwWtNQ2&t=633053122925312500);}
.ajax__calendar_title {cursor:pointer;font-weight:bold;}
.ajax__calendar_footer {height:15px;}
.ajax__calendar_today {cursor:pointer;padding-top:3px;}
.ajax__calendar_dayname {height:17px;width:17px;text-align:right;padding:0 2px;}
.ajax__calendar_day {height:17px;width:18px;text-align:right;padding:0 2px;cursor:pointer;}
.ajax__calendar_month {height:44px;width:40px;text-align:center;cursor:pointer;overflow:hidden;}
.ajax__calendar_year {height:44px;width:40px;text-align:center;cursor:pointer;overflow:hidden;}

.ajax__calendar .ajax__calendar_container {border:1px solid #646464;background-color:#ffffff;color:#000000;}
.ajax__calendar .ajax__calendar_footer {border-top:1px solid #f5f5f5;}
.ajax__calendar .ajax__calendar_dayname {border-bottom:1px solid #f5f5f5;}
.ajax__calendar .ajax__calendar_day {border:1px solid #ffffff;}
.ajax__calendar .ajax__calendar_month {border:1px solid #ffffff;}
.ajax__calendar .ajax__calendar_year {border:1px solid #ffffff;}

.ajax__calendar .ajax__calendar_active .ajax__calendar_day {background-color:#edf9ff;border-color:#0066cc;color:#0066cc;}
.ajax__calendar .ajax__calendar_active .ajax__calendar_month {background-color:#edf9ff;border-color:#0066cc;color:#0066cc;}
.ajax__calendar .ajax__calendar_active .ajax__calendar_year {background-color:#edf9ff;border-color:#0066cc;color:#0066cc;}

.ajax__calendar .ajax__calendar_other .ajax__calendar_day {background-color:#ffffff;border-color:#ffffff;color:#646464;}
.ajax__calendar .ajax__calendar_other .ajax__calendar_year {background-color:#ffffff;border-color:#ffffff;color:#646464;}

.ajax__calendar .ajax__calendar_hover .ajax__calendar_day {background-color:#edf9ff;border-color:#daf2fc;color:#0066cc;}
.ajax__calendar .ajax__calendar_hover .ajax__calendar_month {background-color:#edf9ff;border-color:#daf2fc;color:#0066cc;}
.ajax__calendar .ajax__calendar_hover .ajax__calendar_year {background-color:#edf9ff;border-color:#daf2fc;color:#0066cc;}

.ajax__calendar .ajax__calendar_hover .ajax__calendar_title {color:#0066cc;}
.ajax__calendar .ajax__calendar_hover .ajax__calendar_today {color:#0066cc;}


GridView的DataFormatString參考

GridView的DataFormatString參考

GridView在DataFormatString屬性 中的 {0} 表示資料本身,而在冒號後面的格式字符串代表所們希望資料顯示的格式; 例如 {0:d} ==> 2009/3/11

GridView DataFormatString屬性 數字、貨幣格式:
在指定的格式符號後可以指定小數所要顯示的位數。例如原來的數據為「1.56」,若格式設定為 {0:N1},則輸出為「1.5」。其常用的數值格式如下表所示:

格式字串輸入結果
  • "{0:C}" 12345.6789 ==> $12,345.68
  • "{0:C}" -12345.6789 ==>($12,345.68)
  • "{0:D}" 12345 ==>12345
  • "{0:D8}" 12345 ==>00012345
  • "{0:E}" 12345.6789 ==>1234568E+004
  • "{0:E10}" 12345.6789 ==>1.2345678900E+004
  • "{0:F}" 12345.6789 ==>12345.68
  • "{0:F0}" 12345.6789==> 12346
  • "{0:G}" 12345.6789==> 12345.6789
  • "{0:G7}" 123456789 ==>1.234568E8
  • "{0:N}" 12345.6789 ==>12,345.68
  • "{0:N4}" 123456789 ==>123,456,789.0000
  • "Total: {0:C}" 12345.6789 ==>Total: $12345.68

GridView DataFormatString屬性 常用的日期時間格式:

格式 說明 輸出格式
  • d 精簡日期格式 MM/dd/yyyy
  • D 詳細日期格式 dddd, MMMM dd, yyyy
  • f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
  • F 完整日期時間格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss
  • g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
  • G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
  • s 適中日期時間格式 yyyy-MM-dd HH:mm:ss
  • t 精簡時間格式 HH:mm
  • T 詳細時間格式 HH:mm:ss

所以不一定要記,只要跟程式一樣 yyyy ==> 年 ,MM==>月,dd==>日,HH==>時,mm==>分,ss==>秒

VB.Net Regex 正則表達式

VB.Net Regex 正則表達式

Regex MSDN 說明:Regex class

Regex mail 檢查:Regex.IsMatch(strIn, ("^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$")

Regex 數字 檢查: Regex.IsMatch(Me.txtB1.Text, "^[0-9]*[1-9][0-9]*$")

Asp.net GridView固定表頭使用CSS

Asp.net GridView固定表頭使用CSS

CSS:
<style>
.Freezing
{
position:relative ;
table-layout:fixed;
top:expression(this.offsetParent.scrollTop);
z-index: 10;
}
.Freezing th{text-overflow:ellipsis;overflow:hidden;white-space: nowrap;padding:2px;}
</style>



用法:
1.GridView設定CSS如上的樣式,HeaderStyle加CssClass="Freezing"
2.包住GridView使用的Div
<div style="overflow-y: scroll; height: 200px; width: 200px;">
</div>

文章結尾加入GoogleAdsense廣告

文章結尾加入GoogleAdsense廣告

如何在文章結尾加入GoogleAdsense廣告這是一個常見的問題,只要到Blogger的後台"版面配置",選擇"範本"。在找到"修改html",點選下去。在點選右上的"展開小裝置範本"。

文章結尾加入GoogleAdsense廣告


在程式碼中,搜尋 div class='post-footer',找到 div class='post-footer' 後在 div class='post-footer' 的正下方插入Google Adsense廣告程式碼就可以囉。
要注意的是要修正一下AdSense程式碼,只是把xml格式換了一種寫法(因為blogger使用xml格式,如果語法要使用字符 < ﹐而該字符卻絕對不能以 < 出現在任何的XML 資料中﹐這樣必須遵循XML 1.0 的規則﹐也就是應鍵入成 <) 如下圖:把 < 和 > 改為< 跟 >

文章結尾加入GoogleAdsense廣告

文章結尾加入GoogleAdsense廣告畫面:

文章結尾加入GoogleAdsense廣告

IE javascript 列印、預覽列印、列印設定

IE javascript 列印、預覽列印、列印設定

WebBrowser是IE瀏覽器元件,無需使用者下載 。

1.WebBrowser元件 :
  <object id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" width="0" height="0"></object>

2.WebBrowder元件的方法:

WebBrowser1.ExecWB(6,1); '列印
WebBrowser1.ExecWB(8,1); '列印設定
WebBrowser1.ExecWB(7,1); '預覽列印

WebBrowder元件其他的用法:

WebBrowser.ExecWB(1,1) 打開
Web.ExecWB(2,1) '關閉現在所有視窗,並打開一個新視窗
Web.ExecWB(4,1) '儲存網頁
Web.ExecWB(6,1) '列印
Web.ExecWB(7,1) '預覽列印
Web.ExecWB(8,1) '列印設定
Web.ExecWB(10,1) '查看頁面屬性
Web.ExecWB(17,1) '全選
Web.ExecWB(22,1) 'Refresh
Web.ExecWB(45,1) '關閉視窗無提示

3.列印是會把整個頁面都列印出來的,我們有時候只需要列印表格,這時只要寫一個樣式了:把不想列印的部份隱藏起來即可:
樣式內容:
<style type="text/css" media="print">
.noprint{display : none }
</style>

然後使用樣式就可以:
<p class="noprint">不需要打印的地方</p>

4.範例程式如下:

<script language="javascript">
function printsetup(){
wb.execwb(8,1); '列印設定
}
function printpreview(){
wb.execwb(7,1); '預覽列印
}
function printit()
{
if (confirm('確定列印嗎?')) {
wb.execwb(6,6) '列印
}
}
</script>

<object classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id="wb" name="wb" width="0" height="0"></object>
<input name="button_print" value="列印" class="noprint" onclick="javascript:printit()" type="button">
<input name="button_setup" value="列印設定" class="noprint" onclick="javascript:printsetup();" type="button">
<input name="button_show" value="預覽列印" class="noprint" onclick="javascript:printpreview();" type="button">

VB.net 改變系統預設印表機

VB.net 改變系統預設印表機

改變系統預設印表機的方法有很多(雖然可以利用VB.net裡面的元件printdialog,但是如果要自訂畫面的話還是要自已實作),但是最簡單的方法就是利用WSH 物件的 NetWork 類別的 SetDefaultPrinter 方法來改變預設印表機,這個方法只要一段語法即可。而且可以取得安裝在系統上的印表機…,非常實用。

VB.net 改變系統預設印表機

透過 WSH 物件的 NetWork 類別的 SetDefaultPrinter 方法來改變預設印表機
CreateObject("WScript.Network").SetDefaultPrinter("印表機名稱") ' 設定預設印表機,傳入印表機名稱

System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count '取得是否裝印表機
System.Drawing.Printing.PrinterSettings.InstalledPrinters.Item(index) '取得印表機名稱

This application is currently offline.....問題及解決方法

This application is currently offline.....問題及解決方法

今天一開啟 VB 2005 把 web 啟動即發現一個訊息"This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory."。



原因是app_offline.htm引起的問題,在網站根目錄下建立app_offline.htm文件來關閉網站是asp.net 2.0中新增的功能,如果網站根目錄下存在這個文件,那麼對任何aspx頁面的顯示的都是app_offline.htm的內容,要使網站正常運行,必須刪除或對app_offline.htm改名。

"This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory."-解決辦法:找到網站根目錄,刪除其中的app_offline.htm文件。

ASP.net 上使用msgbox 問題

ASP.net 上使用msgbox 問題

大家常在開發階段寫msgbox來提示使用者, 但放到 IIS Server可能有問題(有時debug 不知問題在那!),因為.NET 2 提供的 Msgbox 只是用來開發階段 debug 使用正式上線是無法用的。

建議大家用alert('新增成功!'),Page.ClientScript.RegisterStartupScript(Page.GetType, "alert", "")

但是在UpdatePanel下,請使用RegisterClientScript
在.Net 2.0上面,一般我們會使用Response.Write()或是Me.Page.ClientScript.XXX來註冊或是寫一段Script到Client端,但是當我們使用UpdatePanel做AsyncPostBack時,它是沒有作用的。這時我們就必須使用ScriptManager來做了。

例如:ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(),"HelloWorld", "alert('The page has loaded!')",true);

ASP.Net 如何得到DataTable

ASP.Net 如何得到DataTable

在新版的ASP.Net的新元件GridView非常好用,只要指定datasource 即可=>

DataTable dt =new DataTable();
dt = DataAdapterUtil.getCustomerData(TextBox1.Text);
DataView sourceDataView = dt.DefaultView;
GridView1.DataSource = sourceDataView;
GridView1.DataBind();

但是舊的方法我是不知如何取到DataTable,原來只要多一步,從DataSet中讀取第0個DataTable即可:

SqlCommand Cmmd = New SqlCommand("SELECT * FROM Customer", Conn) ;
SqlDataAdapter Da = New SqlDataAdapter(Cmmd) ;
DataSet Ds = New DataSet();
Da.Fill(Ds) ;
DataTable Dt = New DataTable();
Dt = Ds.Tables(0) ;

ASP.NET Button postback

ASP.NET Button postback

ASP.NET 2.0有個新的功能,本來以為是簡單取上一頁的值,平常也很少寫ASP.NET,所以也就只是了解ASP.NET 2.0 有個 postback功能。

最近有個專案要使用ASP.NET開發,所以在實作時就發現一個問題了。有個功能在Page_Load 時去抓取資料庫的值填入畫面元件,在按下button時就把畫面中的值更新至資料庫,這算是很簡單的功能吧,結果我卡住了,竟然沒法子更新,debug時竟然抓畫面的值也是相同,難到我遇到鬼,還是vb有問題。



結果是 ASP.NET Button postback 的問題,在 ASP.NET 的button 預設是postback ,但是在ASP.NET 的運行機制中,Button 的 Click 事件,一定會是 Page_Load 事件之後,這才發生問題,不過只要在Page_Load 事件裡面把抓資料庫的值填入畫面元件的區塊放在 ispostback 裡面
即可。

因為由 PostBack 動作所引發的控制項事件,是在 Page_Load 中處理,此時會去檢查 Request.Form 的回傳值,再決定要引發的控制項事件。若需要在 Page Load 之前就要知道是那個 Button Click 動作,那就要自行由 Request.Form 中去判斷那個按鈕產生的 PostBack 動作。

要取消button 的postback 只要把 UseSubmitBehavior 屬性設為 False 即可。

所以在寫ASP.NET時在 Page_Load 有實作時要小心postback的問題,以免發生不預期的bug,又找不到問題,我也找了幾個小時才搞定。

教學建立 PicLens 超炫3D相簿( PicLens 3D Album)

教學建立 PicLens 超炫3D相簿( PicLens 3D Album)

最近看一個可以看超炫3D相簿的Firefox外掛PicLens,現在很多相簿都支援PicLens,所以就想來研究一下PicLens是如何做到的。

PicLens 官網教學:手動建立超炫3D相簿

PicLens建立的範例:PicLens Dome

PicLens建立的範例下載:PicLens 下載

PicLens 介紹:使用 Firefox plugin PicLens觀看無名相簿表特牆

相關文章:無名相簿 - 表特牆、正妹牆、正臉牆、帥哥牆(WretchXD)
超炫方式看 Youtube - 使用 PicLens

PicLens 中文教學:

1.第一步:建立一個rss的檔案-範例 photos.rss

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0"
xmlns:media="http://search.yahoo.com/mrss"
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<item>
<title>A.jpg</title>
<link>pl_images/A.jpg</link>
<media:thumbnail url="pl_thumbs/A.jpg"/>
<media:content url="pl_images/A.jpg"/>
</item>
.
.
.

<item>
<title>Z.jpg</title>
<link>pl_images/Z.jpg</link>
<media:thumbnail url="pl_thumbs/Z.jpg"/>
<media:content url="pl_images/Z.jpg"/>
</item>
</channel>
</rss>
圖形的資料放置 item 間,<title>指圖形的抬頭,<link>指圖形的url位
置,<media:thumbnail>指小圖的url位置,<media:content>指圖形的url位置,
所以如果有很多圖形的話,就代表會重覆很多item 標籤,記得檔案要用utf-8編號。

2.第二步:在網頁上放置程式碼,放在<head>中間,PicLens.htm

<link rel="alternate" href="photos.rss"
type="application/rss+xml" title="" id="gallery" />
<script type="text/javascript"
src="http://lite.piclens.com/current/piclens.js"></script>

3.第三步:更改網頁html code,PicLens.htm
如果第一步的標籤
<link>pl_images/A.jpg</link>
是如此的話,html code 就要改成

<a href="pl_images/A.jpg"><img src="images/A.jpg"></a>


其實這樣即可,但是如果沒裝 PicLens 外掛時,要可以跑基本的 特效時就要再加其他的code。

4.沒裝 PicLens時,在body 內的code:

<a href="javascript:PicLensLite.start();">Start Slideshow
<img src="http://lite.piclens.com/images/PicLensButton.png"
alt="PicLens" width="16" height="12" border="0"
align="absmiddle"></a>



Html Javascript 動態程式的範例!Javascript 小工具

Html Javascript 動態程式的範例!Javascript 小工具

最近在寫一些Html Javascript的程式,一般網頁的程式無論是asp jsp 其實都很簡單,只要會用一些程式的元件即可,但是我覺得難的是要把網頁當成應用程式來搞,那就要靠一些Javascript的程式。

最近發現一個網站,上面有很多Javascript 動態程式的範例,上面還有分類,可以根據分類查詢想要找的Javascript 動態特效,無論button、日期、browser...等都有。找到妳需要的Javascript 動態特效時,上面就有個"Get Source Code"連結,裡面就有範例及如何設定。

JS Make Easy:官網

JS Make Easy 官網 畫面:

Html Javascript 動態程式的範例!Javascript  小工具

JS Make Easy 分類畫面 :

Html Javascript 動態程式的範例!Javascript  小工具

JS Make Easy Javascript 動態特效畫面:

Html Javascript 動態程式的範例!Javascript  小工具

Html 動態 Menu Tree + Frame Hide

Html 動態 Menu Tree + Frame Hide

因為很少寫網頁程式了,但最近碰到公司接到一個案子,主要是寫公司內部的網頁,只是因為原公司有個舊系統(使用vb寫的ap),所以這次要把web 的畫面變成看起來像ap,所以就要使用javasript來控制menu及frame。

網路上找了一堆javascript的範例來改,把程式放上來順便備份及記錄!

相關文章:Javascript API + Html API 說明

Html 動態 Menu Tree:

收縮時的Menu Tree:
Html 動態 Menu Tree
展開時的Menu Tree:

Html 動態 Menu Tree


Html 動態 Menu Tree程式結構說明:程式中有三個目錄,一個是放置 tree Menu 圖的目錄-"img"、一個是放置javascript的目錄- "javascript"、最後一個是放置css的目錄-"css"。針對css及img目錄的內容就不用多做說明,主要說明是javascript內的檔案。

javascript目錄檔案有四個:

1. treeItem.js :是放置 Tree Menu 功能也就是結點,所以有的功能是放置在裡面,以結點來設定,內容 "// nodeId | parentNodeId | nodeName | nodeUrl; ,第一個本身的id = nodeId,第二個是就本身上個結點 parentNodeId,第三個 顯示的名稱 nodeName ,連結的url=nodeUrl,所以就會成為:

Html 動態 Menu Tree


2. ssmItems.js:主要是Menu Tree 的屬性設定,例如背景色,字體大小…,例如:

Html 動態 Menu Tree


3.ssm.js:產生Tree的程式。

4.tree.js:產生Tree時圖檔的位置及套用的圖片位置。

Html 動態 Menu Tree:範例檔


Frame Hide:目前只放畫面,程式之後再說明吧,有需要再mail給我吧!

隱藏時的Hide frame:

Frame Hide

展開時的Hide frame:

Frame Hide