目前日期文章:201103 (11)

瀏覽方式: 標題列表 簡短摘要

善用〝強制險〞==>  注意自己的權益

客戶的老公騎機車,被小貨車撞倒,左小腿骨折,但肇事者郤逃了,後來住院共花了6萬多元。客戶只能抱怨又受傷又無法得到理賠。聽完後,提醒他,可利用自己車的強制險去理賠,但要去警察局補申請 交通事故證明(載明提到肇事者逃逸)。再向自己車的產險公司申請,就OK了。   



正式收據只有一份!沒關係,強制險理賠免正式收據,只要影印本收據蓋上醫院章就可以了。   

 

整理一下: 

 

政府強制險包括150萬死殘理賠20萬意外門診或住院理賠 

 

而要申請肇事逃逸20萬意外住院門診理賠步驟,準備下列文件:


1.  警察局交通事故證明(要有提到肇事者逃逸)。
2.  醫院的收據,可用影印本,但要醫院蓋章。
3.  向自己購買的強制險,產險公司申請出險。

 

強制險的用意就是為了萬一肇事者逃逸, 受傷者不會求償無門,所以自己權益,自己要爭取。

 

您知道您繳的強制險費用567元擁有哪些權益嗎? 
 
很多人只知道強制險[死殘給付140][傷害醫療給付20 ]的保障,不要讓您的權益睡著了

1.   發生重大車禍時,通常是由救護車將傷者送至醫院,  救護車的費 用或是救助搜索費都可以申請理賠。  


2.   車禍發生後,  所有的看診、診療所產生的費用  全都可以申請理賠(採實支實付) 除此之外還包括轉院、出院、住院、往返門診的交通費用, 合理範圍內也都是可以申請理賠的。  


3.   因車禍住院療養,無論是否雇用特別護士或家屬自行照顧病患, 皆可申請看護金(每日1000)  {醫師確認病情需要,MAX 30}


4.   若因車禍發生造成頭部、顏面部或頸部受損傷,導致遺存明顯醜形 (瘢痕、線狀痕、凹痕......)  女性可理賠至42萬元,男性可理賠至26萬 元。

 

5.   因車禍而造成被當事人牙齒斷裂,掉落或其他損傷,每一顆牙齒最高 可申請1萬元理賠金。 

6.   車禍若不幸發生對方肇事逃逸,或對方並無投保強制險的情況, 被保險人亦可向財團法人汽車交通事故特別補償基金會申請補償金,事故發生二年內 接可申請理賠。  


7.   強制險理賠不分道路責任或事故當事人造成的過失,皆可申請理賠, 但事故發生時請務必記得要向警察備案

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

原文出處

心理學家認為,判斷男女兩個人是否適合“牽手”,應考慮以下10個因素。

    第一、彼此都是對方的好朋友,不帶任何條件,喜歡與對方在一起。

    第二、彼此很容易溝通、互相可以很敞開地坦白任何事情,而不必擔心被對方懷疑或輕視。

    第三、兩人在心靈上有共同的理念和價值觀,並且對這些觀念有清楚的認識與追求。

    第四、雙方都認為婚姻是一輩子的事,而且雙方(特別強調“雙方”)都堅定地願意委身在這個長期的婚姻關係中。

    第五、當發生衝突或爭執的時候可以一起來解決,而不是等以後來發作。

    第六、相處可以彼此逗趣,常有歡笑,在生活中許多方面都會以幽默相待。

    第七、彼此非常瞭解,並且接納對方,當知道對方瞭解了自己的優點和缺點後,仍然確信被他所接納。

    第八、從最瞭解你、也是你最信任的對方處得到支援的肯定。

    第九、有時會有浪漫的感情,但絕大多數的時候,你們的相處是非常滿足而且是自由自在的。

    第十、有一個非常理性和成熟的交往,並且雙方都能感受到,在許多不同的層面上你們是很相配的。

  愛情最常見的形式就是兩性之間的捕捉與追逐。人際間的好感可以相互傳達出強大的力量,以至於能夠彌補客觀條件的不足。是相似性而非互補性把人們結合到了一起。相似性主要包括三個方面的匹配度:價值觀與人格、興趣和經驗、人際風格。其中,人際風格是最重要的關係預測指標。與和自己人際溝通風格有所差異的人交往會有挫折感,且較少有進一步發展的可能。

  愛情是追到手的嗎?

  不是。真正的感情根本不需要追的。兩個人的默契,在慢慢將兩顆心的距離縮短,在無意識中漸漸靠近彼此。從好朋友到情人,真正的感情是用不了多久的。從你喜歡上他的那一刻起,也許他也在那一刻喜歡上了你。同節奏的愛情往往能奏出最和諧最動聽的樂章。

  真正的愛情需要什麼?需要兩個人在一起是輕鬆快樂的,沒有壓力。

  愛一個人就是毫無保留地付出嗎?

  不是。每一個人都是一個獨立的人,我們首先是屬於自己的,我們有思想,我們有個性,而不是把我們的全部都給對方。我們可以有保留,比如你不願意說的隱私,有秘密的人才是成熟的,不是嗎?有時候不說出來反而更好。

  外貌和個性哪個更重要?

  男人年輕的時候往往喜歡漂亮的女子,25歲以後,會選擇和自己性格合適的女子,能和自己一起過日子的人。

  喜歡一個人,太急切了,反而不好。一是因為越想得到的越得不到;二是得到了也很難珍惜,來得快去得也快。細水長流一些,愛情會更長久。

  相愛容易相處難。相處中最重要的是寬容和妥協,在信任和瞭解的基礎上。沒有寬容和妥協,任何兩個人都無法相處。

  純純的愛也許只有一次,但是真愛未必只有一次。時間會撫平一切傷痕。

  我們其實是可以愛上很多人的。我們不是喜歡某個人,而是喜歡某種類型的人。先來的人和我們相遇了,於是我們幸福地走到了一起;對於後到的人,只能抱以歉意,同時,祝福他早日找到屬於他自己的幸福。

  沒有誰是我們一生非擁有不可的,愛一個人,很多時候實際上是習慣了這個人

  現實和浪漫哪個更重要?

  現實。沒有現實為基礎,浪漫就是空中樓閣。大學校園的愛情往往隨著畢業而告終,大多是因為不現實,不在一個城市。 只有相互欣賞相互佩服各有所長的人,才會碰撞出最美麗的火花,也才會結出最甜美的愛情果實。

  分手後我們還可以做朋友嗎?

  最好不要。剪不斷,理還亂。過去了就過去了,我們不是生活在過去,而是現在。愛情不等於生活,只是生活的一部分。

  不要因為自己長相不如對方而放棄追求的打算,長相只是一時的印象,真正決定能否結合主要取決於雙方的性格。我見過的帥哥配醜女,醜女配帥哥的太多了。

  戀愛的時間能長儘量長。這最少有兩點好處:一,充分、盡可能長的享受戀愛的愉悅,二,兩人相處時間越長,越能檢驗彼此是否真心,越能看出兩人性格是否合得來。

  想知道一個人愛不愛你,就看他和你在一起有沒有活力,開不開心,有就是愛,沒有就是不愛

  愛情不是感動,你不是他心目中的理想伴侶,即使一時接受你,將來碰上他心儀的那一位,一樣會離開你。有些人情緒容易大起大落,這樣的人是很難維持一段長久的關係的。

  浪漫是什麼?

  是送花?雨中漫步?樓前佇立不去?如果兩人彼此傾心相愛,什麼事都不做,靜靜相對都會感覺是浪漫的。否則,即使兩人坐到月亮上拍拖,也是感覺不到浪漫的。

  是否門當戶對不要緊,最重要應該是興當趣對,不然沒有共同語言,即使在一起,仍然會感覺到孤獨。

  持久的愛情源于彼此發自內心的真愛,建立在平等的基礎之上。任何只顧瘋狂愛人而不顧自己有否被愛,或是只顧享受被愛而不知真心愛人的人都不會有好的結局。

  愛情既是風險投資,難免有去無回,失戀是再正常不過的事情。愛過,就夠了。既然不能在一起,總有不能在一起的理由。不能因為別人負了你,就不負責任地遊戲、報復或是墮落,自己演的戲,總要自己收場的。何況,他不愛你,你做什麼他都不會在乎。

  如果愛上,就不要輕易放過機會。莽撞,可能使你後悔一陣子;怯懦,卻可能使你一輩子後悔。沒有經歷過愛情的人生是不完整的,沒有經歷過痛苦的愛情是不深刻的。愛情使人生豐富,痛苦使愛情昇華。

  你可能習慣與現在的戀人,明明不太喜歡,但在一起久了,習慣使人不太願做新的選擇。人生會面臨無數次選擇。當給你機會選擇時,你一定要謹慎;一旦你做出了選擇,就永遠不要後悔;拿得起,放得下,該斷則斷,該忘記的,就把它忘記;該珍惜的,就要把它珍惜

  我們總說:“我要找一個很愛很愛的人,才會談戀愛。”但是當對方問你,怎樣才算是很愛很愛的時候,你卻無法回答他,因為你自己也不知道。

  沒錯,我們總是以為,我們會找到一個自己很愛很愛的人。可是後來,當我們猛然回首,我們才會發覺自己曾經多麼天真。假如從來沒有開始,你怎麼知道自己會不會很愛很愛那個人呢?其實,很愛很愛的感覺,是要在一起經歷了許多事情之後才會發現的。或許每個人都希望能夠找到自己心目中百分之百的伴侶,但是你有沒有想過,在你身邊會不會早已經有人默默對你付出很久了,只是你沒有發覺而已呢?

  所以,還是仔細看看身邊的人吧,他或許已經等你很久了。當你愛一個人的時候,愛到八分絕對剛剛好。所有的期待和希望都只有七八分,剩下兩三分用來愛自己。如果你還繼續愛得更多,很可能會給對方沉重的壓力,讓彼此喘不過氣來,完全喪失了愛情的樂趣。

  所以請記住,喝酒不要超過六分醉,吃飯不要超過七分飽,愛一個人不要超過八分。如果你也正在為愛迷惘,或許下麵這段話可以給你一些啟示:愛一個人,要瞭解也要開解;要道歉也要道謝;要認錯也要改錯;要體貼也要體諒;是接受而不是忍受;是寬容而不是縱容;是支援而不是支配;是慰問而不是質問;是傾訴而不是控訴;是難忘而不是遺忘;是彼此交流而不是凡事交代;是為對方默默祈求而不是向對方諸多要求。可以浪漫,但不要浪費,不要隨便牽手,更不要隨便放手。

  浪漫的人這樣描述與愛人的相逢:千萬人當中,在時間的無涯的荒野裡,沒有早一步,也沒有晚一步,剛巧趕上了。兩個人好著的時候,你不妨就這樣想吧。如果不好了,你要明白是否和某人在一起,不過是一個再簡單不過的概率問題。數千個擦肩而過中,你給誰機會誰就和你有緣分,縱沒有甲,也會有乙。別傻等那種想像中的木石前盟般的緣分了,生活中哪有那麼多傳奇。別醒著做夢了,難道你忘了藝術雖然來源生活,卻還高於生活嗎……

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

<script language="javascript"> 
    if (top.location != location) 
        top.location.href = location.href;
</script>

可以用在..
1. 登入頁面:如果登入頁面被包在frame裡面,當timeout後,frame其他選單依然可被使用/看到,當按下任一網址,被導向登入頁面時,登入頁面就會重新設定top frame的url。
2. 補... 

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating

    'Find Controller
    Dim tb As TextBox = CType(GridView1.Rows(e.RowIndex).FindControl("TextBox1"), TextBox)

    If tb.Text = "" Then ...略...

End Sub

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

目的:當畫面中有很多TextBox時,每個TextBox又有各自負責的Button,想要讓使用者輸入完畢按下Enter後,就能夠觸發該Button Click的動作。

方法:

<asp:Panel ID="Panel2" runat="server" DefaultButton="Button1">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Submit" />
</asp:Panel>

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

MSDN

這個屬性是 .NET Framework 2.0 版的新功能。
這個物件可用來管理、註冊和加入指令碼至頁面。

Public Sub ClientScriptAlert(ByVal msgStr As String)
    Dim sScript As String
    sScript = "alert('" & msgStr & "')"
    Me.ClientScript.RegisterStartupScript(Me.GetType, "error", sScript, True)
End Sub

試用的結果:
1.還蠻方便的,不需要放一個Literal在頁面,就能夠使用javascript的alert功能。
2.如果觸發是來自Ajax的UpdatePanel的話,就不會出現alert視窗,尚未找到原因。

MSDN:ClientScriptManager.RegisterStartupScript 方法 (Type, String, String, Boolean)

 

2011-04-01補充:

找到可以跟Ajax/UpdatePanel搭配的指令了,如下:

ScriptManager.RegisterClientScriptBlock(UpdatePanel的ID, GetType(UpdatePanel), "Script識別ID", "alert('文字內容');", True)

MSDN連結:http://msdn.microsoft.com/zh-tw/library/system.web.ui.scriptmanager.registerclientscriptblock.aspx

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

很不錯的介紹:
GridView Event


了解GridView事件(Event)



GridView實在是非常好入門的控制項,讓我們可以知一解百,也就是說,你如果能完全了解GridView控制項,那其他類似的資料處理控制項你也差不多學完了,所以對GridView的投資是非常值得。



除了要好好了解拉放之間滑鼠及Vistual Studio帶來的便利,我覺的學好GridView 事件,對學習ASP.NET有更重大的意義,一般控制項了不起就是Page_Load、Click、Change、Select這幾類,但GridView不同,因為它能幫你做好多好多事,所以他的事件就複雜很多,複雜不代表難。



GridView的事件多數都有前後之分(ing或ed結尾),這樣的事件流程讓我們可以對整個控制項或資料處理上有更靈活的操作,例如我要進行刪除作業:



刪除前 → 刪除中 → 刪除後



除了刪除中是我們無法操作的(因為刪除動作是在資料庫),我們可以在刪除前先做個Double Check,刪除後再Check一次及提示訊息。這是以前ASP所做不到的。「事件」可以說是ASP.NET一個很大的優勢,以下針對GridView事件做一個整理,而且每一個事件裡都把常用參數整理好,再加上一個小小範例,以後有GridView方面事件的問題,就可以直接查這篇,可以當成GridView事件快速入門篇。









RowCreated事件

''' <summary>
''' 建立 GridView 控制項中的資料列時發生。
''' <summary>
''' <remarks>必須先為控制項中的每個資料列建立 GridViewRow 物件,才能呈現 GridView 控制項。建立 GridView 控制項中的每個資料列時,會引發 RowCreated 事件。</remarks>
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
'e.Row:取得所建立或繫結(Binding)到資料的資料列。
'e.Row.Cells(i):i是數值,存取資料列的第i個儲存格。
'e.Row.RowType:在執行作業之前判斷資料列的型別。
'範例:http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.gridview.rowcreated%28v=VS.80%29.aspx
End Sub


RowCommand事件(常用)

''' <summary>
''' 按一下 GridView 控制項中的按鈕時發生。
''' </summary>
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
'通常判斷e.CommandName與e.CommandArgument來進行一些額外的事件處理
'e.CommandName有些內建關鍵字,會引發特定行為與事件(http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.gridview.rowcommand%28v=VS.80%29.aspx)
'e.CommandName:取得自訂按鈕命令名稱
'e.CommandArgument:取得自訂按鈕命令引數
'e.CommandSource:存取引發事件的按鈕控制項

'自訂按鈕,命令名稱為"cancelSelected"
If e.CommandName = "cancelSelected" Then
GridView1.SelectedIndex = -1
End If
End Sub


我們自訂的命令名稱都需要在RowCommand事件做處理。例如GridView沒有取消選取的功能,我們就可以自訂按鈕,然後命名為cancelSelected,然後在RowCommand事件來進行取消選取的功能。



RowDataBound事件

''' <summary>
''' 資料列繫結(Binding)至 GridView 控制項中的資料時發生。
''' </summary>
''' <remarks>控制項中的每個資料列必須都繫結(Binding)至資料來源中的資料錄,才能呈現 GridView 控制項。資料列 (由 GridViewRow 物件表示) 繫結(Binding)至 GridView 控制項中的資料時,會引發 RowDataBound 事件。這可讓您提供事件處理方法,用於每次發生這個事件時執行自訂常式,例如修改繫結(Binding)至資料列之資料的值。GridViewRowEventArgs 物件會傳遞至事件處理方法,讓您存取正在繫結(Binding)之資料列的屬性。若要存取資料列中的特定儲存格,請使用 GridViewRowEventArgs 物件的 Cells 屬性。您可以使用 RowType 屬性決定繫結(Binding)那種資料列型別 (標頭資料列、資料列等)。</remarks>
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
'e.Row:取得所建立或繫結(Binding)到資料的資料列。
'e.Row.Cells(i):i是數值,存取資料列的第i個儲存格。
'e.Row.RowType:在執行作業之前判斷資料列的型別。
'1. DataRow:GridView 控制項中的資料列。(常用)
'2. Footer:GridView 控制項的頁尾資料列。
'3. Header:GridView 控制項的標頭資料列。
'4. EmptyDataRow:GridView 控制項中的空白資料列。
'5. Pager:GridView 控制項中的頁面巡覽列。
'6. Separator:GridView 控制項中的分隔列。

'如果資料的類型是「資料列DataRow」,第一個儲存格文字改為粗體。
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(1).Text = "<b>" & e.Row.Cells(1).Text & "</b>"
End If
End Sub


例如我們想幫GridView的每個刪除按鈕加上一段JavaScript,就必須寫在這裡。想像成DataSource把資料一列一列送給GridView,而每一列資料與資料列綁定時,就會發生RowDataBound事件(一列發生一次),所以如果你想做的事是對整個GridView產生作用(每個刪除按鈕),那就必須寫在RowDataBound事件。



刪除事件

''' <summary>
''' 按一下資料列的 [刪除] 按鈕時發生 (但在 GridView 控制項刪除資料列之前)。
''' </summary>
Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
'e.Keys:取得欲刪除那筆資料的PK值。查看DataKeyNames屬性,就可以知道PK值有那些。
'e.Cancel:Boolean,True表示取消刪除動作。
'e.Values:取得要刪除那筆資料的"欄位值"
'e.RowIndex:目前要刪除這筆資料在GridView中的索引值。注意,Index及PK是不同東西。Index指的是排序順序,另外GridView有啟用分頁,假設每頁10筆,則第2頁第一筆資料的RowIndex是0非10。

If e.Keys("CustomerID") = "ALFKI" Then
Response.Write("此資料不能刪除!")
e.Cancel = True
End If
End Sub


如果你想手寫刪除程式,必須寫在RowDeleting事件。



''' <summary>
''' 按一下資料列的 [刪除] 按鈕時發生 (但在 GridView 控制項刪除資料列之後)。
''' </summary>
Protected Sub GridView1_RowDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeletedEventArgs) Handles GridView1.RowDeleted
'e.AffectedRows:刪除筆數。
'e.Keys:取得欲刪除那筆資料的PK值。
'e.Values:取得要刪除那筆資料的"欄位值"。
'e.Exception:若刪除發生例外,可透過e.Exception取得例外相關資訊。
'e.ExceptionHandled:Boolean,當例外發生且e.ExceptionHandled沒有為True時,會值接在網頁上顯示例外的錯誤畫面。

'確認是否有刪除例外發生
If e.Exception Is Nothing Then
Response.Write("刪除" & e.AffectedRows & "筆資料:" & e.Keys("CustomerID") & "," & e.Values("CompanyName"))
Else
'不要產生錯誤畫面
e.ExceptionHandled = True
Response.Write(e.Exception.Message)
End If
End Sub


編輯事件

''' <summary>
''' 按一下資料列的 [編輯] 按鈕時發生 (但在 GridView 控制項進入編輯模式之前)。
''' </summary>
''' <remarks>RowEdit沒有ed事件(RowEdited),因為進入Edit模式後,是由RowUpdating/RowUpdated接手處理。</remarks>
Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
'e.Cancel:Boolean,True表示取消編輯動作。
'e.NewEditIndex:取得或設定要編輯之資料列的索引。

'按下「編輯」按鈕的這一資料列(e.NewEditIndex)進入編輯模式
GridView1.EditIndex = e.NewEditIndex
End Sub


''' <summary>
''' 按一下處於編輯模式之資料列的 [取消] 按鈕時發生 (但在資料列結束編輯模式之前)。
''' </summary>
Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GridView1.RowCancelingEdit
'e.Cancel:Boolean,True表示取消編輯模式。
'e.RowIndex:目前要取消這筆資料在GridView中的索引值。

'取消編輯模式
'e.Cancel = True
'在VB中「-1」(負1)也有取消的意思
GridView1.EditIndex = -1
End Sub


更新事件

''' <summary>
''' 按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之前)。
''' </summary>
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
'e.Keys:取得欲更新那筆資料的PK值。
'e.Cancel:True表示取消更新動作。
'e.OldValues:取得更新那筆資料,除了PK欄位之外的原始值。
'e.NewValues:取得欲更新那筆資料,除了PK欄位之外的更新值。
'e.RowIndex:目前要更新這筆資料在GridView中的索引值。

Dim cmpName As String = Trim(e.NewValues("CompanyName"))
If cmpName.Length = 0 Then
Response.Write("公司名稱不可為空白")
e.Cancel = True
End If
End Sub


利用更新前做一些錯誤處理,避免不正確的資料進到資料庫中。或是手寫更新程式,也必須寫在這裡。



''' <summary>
''' 按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之後)。
''' </summary>
Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs) Handles GridView1.RowUpdated
'e.AffectedRows:更新筆數。
'e.Keys:取得欲更新那筆資料的PK值。
'e.OldValues:取得更新那筆資料,除了PK欄位之外的原始值。
'e.NewValues:取得欲更新那筆資料,除了PK欄位之外的更新值。
'e.KeepInEditMode:Boolean,是否讓GridView維持在編輯模式。
'e.Exception:若更新發生例外,可透過e.Exception取得例外相關資訊。
'e.ExceptionHandled:Boolean,當例外發生且e.ExceptionHandled沒有為True時,會值接在網頁上顯示例外的錯誤畫面。

If e.Exception Is Nothing Then
Response.Write("成功更新 " & e.AffectedRows & " 筆資料.")
Else
e.ExceptionHandled = True
Response.Write(e.Exception.Message)
e.KeepInEditMode = True
End If
End Sub


分頁事件

''' <summary>
''' 按一下其中一個頁面巡覽區按鈕時發生 (但在 GridView 控制項處理分頁作業之前)。
''' </summary>
''' <remarks>以程式設計的方式設定 PageIndex 屬性時,不會引發這個事件。</remarks>
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
'e.Cancel:Boolean,True表示取消分頁選取模式。
'e.NewPageIndex:取得或設定要在 GridView 控制項中顯示的新頁面索引。

'按下「分頁」選擇,讓GridView顯示指定的分頁(e.NewPageIndex)
GridView1.PageIndex = e.NewPageIndex
End Sub


''' <summary>
''' 按一下其中一個頁面巡覽區按鈕時發生 (但在 GridView 控制項處理分頁作業之後)。
''' </summary>
Protected Sub GridView1_PageIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.PageIndexChanged
'在產生「Page 1 of 10 .」的提示資訊。
Response.Write("Page " & (GridView1.PageIndex + 1).ToString() & " of " & GridView1.PageCount.ToString() & ".")
End Sub


選取



''' <summary>
''' 按一下資料列的 [選取] 按鈕時發生 (但在 GridView 控制項處理選取作業之前)。
''' </summary>
''' <remarks>以程式設計的方式設定 SelectedIndex 屬性時,不會引發這個事件。</remarks>
Protected Sub GridView1_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles GridView1.SelectedIndexChanging
'e.NewSelectedIndex:取得或設定要在 GridView 控制項中選取之新資料列的索引。
'e.Cancel:Boolean,True表示取消選取事件。

'按下「選取」按鈕的這一資料列(e.NewSelectedIndex)進入選取模式
GridView1.SelectedIndex = e.NewSelectedIndex
'另一種寫法
'GridView1.SelectedIndex = GridView1.SelectedIndex
End Sub


''' <summary>
''' 按一下資料列的 [選取] 按鈕時發生 (但在 GridView 控制項處理選取作業之後)。
''' </summary>
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
'在選取完成後,顯示所選取資料列第三個儲存格(Cells從0開始計算)的資料。
Response.Write("You selected: " & GridView1.SelectedRow.Cells(2).ToString() & ".")
End Sub


排序事件

''' <summary>
''' 按一下排序資料行的超連結時發生 (但在 GridView 控制項處理排序作業之前)。
''' </summary>
''' <remarks>按一下排序資料行的超連結時,會引發 Sorting 事件 (但在 GridView 控制項處理排序作業之前)。</remarks>
Protected Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
'e.Cancel:Boolean,True表示取消排序事件。
'e.SortDirection:取得或設定排序 GridView 控制項的排序方向。
'e.SortDirection.Ascending():小到大,A~Z。
'e.SortDirection.Descending():大到小:Z~A。
'e.SortExpression:取得或設定運算式,用來排序 GridView 控制項中的項目。

'切換大小排序
If e.SortDirection = SortDirection.Ascending Then
e.SortDirection = SortDirection.Descending
Else
e.SortDirection = SortDirection.Ascending
End If

'欄位Brithday不能排序
If e.SortExpression = "Birthday" Then
e.Cancel = True
Response.Write("You cannot sort by Birthday.")
End If
End Sub


''' <summary>
''' 按一下排序資料行的超連結時發生 (但在 GridView 控制項處理排序作業之後)。
''' </summary>
Protected Sub GridView1_Sorted(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.Sorted
'顯示排序方法及排序欄位
Response.Write("Sorting by " & GridView1.SortExpression.ToString() & " in " & GridView1.SortDirection.ToString() & " order.")
End Sub



伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

在網路搜尋到的,來源不明。

void BindData()
        {
            string sql = "select top 10 ID,jobno,jobfixno,jobtype from jobse";
            SqlDataAdapter myda = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            myda.Fill(ds, "RusTable");
            GridView1.DataSource = ds.Tables["RusTable"].DefaultView;
            GridView1.DataBind();
            conn.Close();
        }
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;(GridViewRow row=GridView1.Rows[e.NewEditIndex])……………………………………………………………………BindData() ;
        } 
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            BindData();
        }
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {

            TextBox tb = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox001");
            string dkvalue = GridView1.DataKeys[e.RowIndex].Value.ToString();
            string sql1 = "update jobse set jobno='" + tb.Text.ToString() + "' where id='" + dkvalue + "'";
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql1, conn);
            cmd.ExecuteNonQuery();
            conn.Close();
            GridView1.EditIndex = -1;
            BindData();
        }

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {

GridViewRow row = GridView1.Rows[e.RowIndex];
…………………………………………………………

BindData()

        }

       protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row = GridView1.SelectedRow;
…………………………………………………………


四、自定義列中的數據更新

假設數據庫中有一個"權限"字段,值為0代表未審核用戶,為1代表一般用戶,為9則代表管理員用戶。 根據前面所說的自定義列的辦法,通過對DropListDown的綁定,在網頁中顯示權限為"管理員",而不是顯示數字9。 問題產生了,如果我們調整用戶權限的話,比如把一般用戶更改為管理員,在編輯模版中的用戶權限的下拉列表,如何把它的值返回給數據源來完成更新操作。

我們在EditItemTemplate中設置的DropListDown控件,必須選中了Two Way DataBinding,也就是數據雙向幫定,這樣才能返回數據。 前面我們談到,在GridView中,事件不是單個的,是兩個,一個是發生前,一個是發生後,因為我們需要在數據更新前把下拉列表的權限值傳送出去,所以我們需要對GridView1_RowUpdating進行編碼,編碼如下:

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

//當前編輯的是哪行?

             int index = GridView1.EditIndex;


//取得當前編輯行的GridViewRow對象

             GridViewRow gvr = GridView1.Rows[index];


//在當前行中,尋找DropListDown控件

             DropDownList dp = (DropDownList)gvr.FindControl("editdrop");


//將DropListDown的值賦給NewValues​​集合中的權限字段。

             e.NewValues​​["rights"] = dp.SelectedValue;

}


2、RowDataBound事件

在創建gridView控件時,必須先為GridView的每一行創建一個GridViewRow對象,創建每一行時,將引發一個RowCreated事件;當行創建完畢,每一行GridViewRow就要綁定數據源中的數據,當綁定完成後,將引發RowDataBound事件。 如果說我們可以利用RowCreated事件來控制每一行綁定的控件,那麼我們同樣可以利用RowDataBound事件來控制每一行綁定的數據,也就是讓數據如何呈現給大家。

還舉同樣的例子,在數據表中,存在性別列,上面我們用DropListDown控件的DataBounding來表示出了中文的性別,但是畢竟不太美觀,我們現在可以利用Label控件和RowDataBound事件來實現完美的中文性別顯示。 RowDataBound,

首先,還是把性別列,設置為模板列,並添加一個Label控件,將Label控件綁定到數據源的性別段,然後我們在GridView控件屬性的事件列表中雙擊RowDataBound,生成如下事件:

Example:

         protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

//判斷當前行是否是數據行

             if (e.Row.RowType == DataControlRowType.DataRow)

             { //用FindControl方法找到模板中的Label控件

Label lb1= (Label)e.Row.FindControl("Label1");

//因為RowDataBound是發生在數據綁定之後,​​所以我們可以

//判斷Label綁定的數據,如果是True,就更改其text屬性為男

                     if (lb1.Text== "True")

                           lb1.Text = "男";

                     else

                           lb1.Text = "female";

             }

         }


3、RowType

RowType可以確定GridView中行的類型,RowType是玫舉變量DataControlRowType中的一個值。 RowType可以取值包括DataRow、Footer、Header、EmptyDataRow、Pager、Separator。 很多時候,我們需要判斷當前是否是數據行,通過如下代碼來進行判斷:

        if (e.Row.RowType == DataControlRowType.DataRow)


4、RowDeleting和RowDeleted事件

RowDeleting發生在刪除數據之前,RowDeleted發生在刪除數據之後。

使用RowDeleting事件,可以在真正刪除前再次確認是否刪除,可以通過設置GridViewDeleteEventArgs.Cancel=True來取消刪除;也可以用於判斷當前數據庫記錄數,如果只剩一條記錄且數據庫不能為空則提示並取消刪除操作。

使用RowDeleted事件,可以在刪除後,通過GridViewDeletedEventArgs的Exception屬性判斷刪除過程中是否產生異常,如無異常,則可以顯示類似於” 1 Records deleted” 之類的提示信息。

Example:

         protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

//取得當前行號,並取得當前行的GridViewRow對象

             int index=e.RowIndex ;

             GridViewRow gvr=GridView1.Rows[index];

//取得當前行第二個單元格中的文字

             str1 = gvr.Cells[1].Text;

//進行提示

             Message.Text ="您將刪除一個用戶,其姓名為"+str1 ;

         }

         protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)

{

//如果沒有產生異常,則提示成功刪除,否則提示刪除失敗

             if (e.Exception == null)

                 Message.Text += "<br>您成功刪除了"+str1 ;

             else

                 Message.Text += "刪除失敗,請聯繫管理員";

}

5、RowEditing事件

在GridView中的行進入編輯模式之前,引發RowEditing事件,如果您需要在編輯記錄前進行某些預處理,可以在這裡操作。 如果想取消對當前行的編輯,可以把GridViewEditEventArgs 對象的Cancel 屬性設置為true即可。

Example:

         protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

//用NewEidIndex取得當前編輯的行號,然後獲取gridviewrow對象

             GridViewRow gvr = GridView1.Rows[e.NewEditIndex];


//判斷,如果當前編輯行姓名欄為admin用戶,則取消對當前行的編輯

             if (gvr.Cells[1].Text =="admin")

                 e.Cancel = true;

}


6、RowUpdating和RowUpdated事件

RowUpdating事件發生在更新數據源之前,RowUpdated發生在更新數據源之後。

我們可以在記錄更新前利用RowUpdating做一些預處理工作,比如修改密碼時,因為密碼在數據庫中不是明文存儲,進行了hash,所以在更新密碼前,應該生成其hash值,再進行更新操作。 RowUpdated則可以檢驗更新是否成功。

Example:

         protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

         {

             GridViewRow gvr = GridView1.Rows[GridView1 .EditIndex ];

//尋找輸入密碼的控件

             TextBox tb1 = (TextBox)gvr.FindControl("tb_password");

//將此控件中的文本hash後,把password存入NewValues​​這個字典中

             e.NewValues​​ ["password"] =tb1.Text .GetHashCode().ToString () ;


         }

         protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)

{

//如無異常,則更新成功

             if (e.Exception == null)

                 Message.Text += "更新成功!";

         }


7、Keys、OldValues​​、NewValues​​集合

Keys字典中一般存放的是數據源中的主鍵字段的key和value的對應值,如果主鍵由多個字段組成,那麼Keys為每個鍵字段添加其字段名稱和值。 OldValues​​中存放的是要更新的行的字段名和原始值,每個字段為其中的一項。 NewValues​​中存放的是要更新的行的字段名和修改後的值,每個字段為其中的一項。 注意,主鍵字段只存放於keys集合中。

這三個集合中的每一項都是DictionaryEntry類型的對象,我們可以用DictionaryEntry.Key來確定一個項的字段名稱,用DictionaryEntry.Value來確定某項的值。

在上面的例子中,為了把密碼明文加密後再存入數據庫,我們利用了NewValues​​字段,重新設置key為password的項的值。 為了保證安全性,我們在更新數據前對NewValues​​中的所有值進行html編碼:

Example1:

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

//遍歷NewValues​​,取得其中每一對DictionaryEntry對象

            foreach (DictionaryEntry de in e.NewValues​​)


//de.key就是字段名,如果此處單獨更新某字段的話,也可以直接填寫字段名,//比如e.NewValues​​[“password”]


            e.NewValues​​[de.Key] = Server.HtmlEncode(de.Value.ToString());

         }


Example2:

         protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

//分別利用Keys、OldValues​​、NewValues​​取得主鍵名、原始數據和更新後數據

             Message .Text = e.Keys["username"] + "的email地址從" + e.OldValues​​["email"] + "變更為" + e.NewValues​​["email"];

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

[轉貼]委屈求全
覺得累~真的好累~~
婚姻關係裡沒有誰對誰對~~只有夠不夠愛~
願不願意為對方改變自己~~付出真心~~
如果倆人在一起~~都覺得自己很委屈~~~
如果委屈可以求全~~得到一個幸福的生活~那委屈才有意義~
但若感到委屈又不能求全~~那我們是不是還有在一起的必要~~

---

朋友貼了一段于美人的話:委屈可以求全~就去做,委屈不能求全~就成全自己。
感覺很有道理,就去網路搜尋"委屈求全"這個關鍵字,看到了一個結婚多年的格主,寫了這篇文章,感覺好悲傷。
人家說相愛容易相處難。但對我來說,相愛是不容易的,我原本就是個不敢一下子就付出全部的人,所以要真的愛上,對我來說~是很不容易的。
那文章的格主是已經結婚了,所以看的出字裡行間的無奈。
還沒結婚的兩人,如果已經有這種問題,是不是就沒有意義在繼續下去?

同學說,『工作就是一直在勉強自己、也一直在勉強別人』,我覺得很有道理。
想到這句話,突然覺得『感情就是一直在委屈自己、也一直在委屈別人』因為雙方都願意委屈自己~來成全兩個人相處的空間,才能夠一直走下去。

如果有一方不願意繼續付出,那另一方也會慢慢的停止付出,到最後就各走各的,形同陌路。
那是誰造成的呢?
在我看來是開始不願意付出的人所造成,或許看文章的你有另一種解釋。

媽媽總是說我太過於強勢/固執 (或許 說難聽點是死要面子吧),希望我能夠溫柔體貼一點,婚後順著老公一點,如果老公能做主,就讓他去作主。
每次跟媽媽抱怨男友不合的事情,總是會這樣勸我。......(都不知道聽幾次了,是我太常抱怨嗎?)
我是妳女兒耶~怎麼不是跟我一起罵男朋友...反倒是說我該乖一點呢。......(心裡很不平衡,但知道媽媽一定是為孩子好的。)

之前交往對象真的是忍受我單方面無理取鬧,被我搞的像奴隸似的,對方受不了而分手我卻也一點不傷心,只是可惜少了一個發洩的對象。

在台北工作四年,回高雄之後,休息長達3年沒有工作,買了不少書~看了不少書,當然也買了兩本關於情人間人際關係的書。
說真的,看這兩本書,讓我有很多觀念的改變,
女生跟男生在一起,不是男生單方面的付出、女生單方面的無理取鬧+無條件接受

我改變了自己,不再抱怨男生所做的一些白痴事物,修身養性了起來...但是依然無法遇到能同等對待的對象。

有時真的想變成喜歡女生好了,女生比較能夠了解女生的苦處,而且我也不排斥愛女生~只要長的乾乾淨淨我就能接受。
我長的這麼醜~年紀也大了,根本沒優勢找到較好的男性對象,媽媽又很愛催我快點結婚。
媽媽對我選的對象也很有意見~~~說真的,又不是老媽妳要嫁給他~意見那麼多~"~。(知道媽媽都是為女兒好啦,但是總別要我嫁給我不愛的人吧~這是女兒一生的幸福/性福耶)

我也很不喜歡別人要求我遵守他家的規矩,我又不是被買過去的(請問聘金有超過兩百萬嗎~兩百萬買的起一輩子的傭人嗎),將心比心唉~~~你是你爸媽的心肝寶貝~~我也是我爸媽的心肝寶貝耶~~。

唉~~這篇文章已經淪為我的碎碎唸+抱怨了....。

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

從小就常常莫名身體痛,通常痛幾個小時~一天,就會好,所以沒有針對這方面去治療。
但是這次真的是太過分了,痛了三天,晚上都沒辦法睡覺,痛到發燒,打算去高醫檢查一下了。
說不定我得了神經病,不過這樣也好,太清醒也不是好事。

以下文章轉載自:認識神經痛

72歲的陳伯伯(化名)主述五、六個月前右上臂長「皮蛇」後,從此整個右臂疼痛至今;這種疼痛非常敏感,輕輕觸碰一下,就讓他刺痛難忍,比牙齒的神經痛還要痛;也讓他難以入眠。48歲的王女士(化名)一直遭受著間歇性的左側臉頰痛數週之久,這種痛像被電到般的劇烈疼痛,通常它一次痛個幾秒鐘,會反覆不定時出現,尤其在講話時比較會被引誘出來,王女士目前正以三叉神經痛的藥物控制中。

這種莫名的疼痛,約有三分之一是因為神經系統異常所造成的「神經性疼痛」。神經在人體內可以接受外界冷、熱、痛、和振動的刺激,並將此訊息傳遞到大腦;同時也可以把大腦對這些刺激的反應傳遞回身體,這種快速的傳遞好像身體的電線;當神經出了問題或受過重大傷害,如同電線壞掉而「漏電」;病人會有異常放電的感覺,在出問題的神經範圍內覺得刺痛、麻痛,或觸電的感覺,而引起神經性疼痛;例如上述的帶狀疱疹、三叉神經痛以及糖尿病、腦中風、脊髓外傷、周邊神經受傷、截肢後,甚至腕隧道症候群的病人,都可能引發程度不一的神經性疼痛。當周邊神經受傷後,神經變得更敏感,即使沒有外界的刺激,也會不斷地向大腦傳送「受到痛刺激」的訊息,會感覺到肢體有陣發性強烈的刺痛、觸電感,或持續性的麻痛、灼熱感,這時不但影響正常的生活作息,病人更是身心俱疲、痛苦不堪。這種周邊神經問題,如果是全面性的周邊神經病變就稱為「疼痛性周邊神經病變」,如果是單一、二條周邊神經出了問題所造成的疼痛稱為「神經痛」。

幾乎所有的人多少有些神經痛的經驗,大部份的輕度神經痛,在幾天之內會自行消失;但有些比較嚴重的神經痛,可以延續很長的時間,變成惱人的疾病,那種無意中「觸電」的感覺不好受,往往會影響日常的工作與生活,例如影響半邊臉的三叉神經痛;尤其在夜深人靜、熟睡之際突然痛醒,更是難受;尤有甚者,有些患者可能是二十四小時都處於四肢發麻,彷彿「漏電」的窘境。
神經痛的主要症狀包括下例情形:
一、局部疼痛或四肢末端「穿襪子戴手套」的麻痛感。
二、受影響的區域可能會感覺異常。
三、疼痛可能是尖銳或灼熱,彷彿「觸電」的感覺。
四、大部份神經疼痛區域的一般功能不受影響,它的功能不改變。
五、神經疼痛區域有可能會伴隨著肌肉筋鑾。

神經痛沒有特定的檢驗方法。
作檢查的主要目的是為了排除其他可能性;一般要作的檢查包括:
一、神經學檢查:為了定出是否有疼痛的特定區域以及定出引起疼痛的神經分佈,進而確立診斷以及可能的原因。
二、牙齒檢查:神經附近是否有膿瘍。
三、血液檢查:是否有感染。
四、X光檢查或影像學的檢查:神經是否有被壓迫的可能性。

神經痛可由內科藥物治療和物理治療,對一些頑固型神經痛才會考慮使用手術來治療;其治療的方向有:
一、治療造成神經痛的原因:以抗生素和牙科處理牙膿瘍;或用手術方式移除壓迫神經的骨頭。
二、疼痛的治療:例如止痛劑。
三、抗抽搐或抗癲癇藥物的治療:這些藥物用來治療三叉神經痛所造成的疼痛與肌肉筋鑾。
四、抗憂鬱藥物的使用:對某些病人可以減緩疼痛。
五、手術:利用神經阻斷術減緩疼痛。
六、其他方法:包括針灸、催眠等等。

引起疼痛性周邊神經病變的原因很多,有神經發炎、壓迫或受傷等原因;但大部的神經痛是不明原因的。
神經發炎(神經炎,neuritis)造成神經痛有以下情形:
一、帯狀疱症:是疱疹病毒感染所造成的神經發炎,這種常見的神經痛往往會持續到疱疹皮症好了以後還在痛,所以又稱為疱疹後神經痛(post –herpetic neuralgia)。
二、任何感染:因神經周圍的任何感染造成神經痛,例如齒膿腸。
三、梅毒感染:梅毒感染的後期除了神經痛外,還會影響神經功能。
另外是神經受壓迫或受傷:骨頭斷裂、椎間盤凸出(坐骨神經痛)或是腫瘤壓迫造成神經痛。

疱疹後神經痛(Post –herpetic neuralgia)是帯狀疱症或皮蛇的合併症,由水痘-疱疹病毒引起的。早期被水痘病毒感染後,有些病毒會隠藏到神經節的神經細胞內。數年後,可能因年老、疾病、壓力或藥物等因素,甚至可能因不明原因,而活化這些隠藏在神經節的水痘-疱疹病毒,這些病毒會延著神經纖維造成疼痛,當病毒到達皮膚時,會在皮膚上產生紅疹與水痘;整個病程到皮疹痊癒大約需一個月內的時間。但有一些患者在皮疹痊癒後仍然還會疼痛,這種疼痛就是所謂的疱疹後神經痛。

後枕神經痛(Occipital neuralgia)是因為刺激到頭顱枕部的神經,造成後枕神經痛,這種疼痛是局限在頭部後側,比較深沉的陣痛或也有可能是陣發性的「觸電」感,少數這種疼痛會延伸至前額。可能是後頸或枕部緊繃的肌肉、肌腱壓迫到神經所引起的,也有可能是頸部感染、發炎或受傷所造成的。

三叉神經痛(Trigenminal neuralgia)是非常常見的神經痛;由於這種疼痛相當厲害,有些患者因而茶飯不思,也有些患者把它誤以為是牙痛,作了一大堆牙科治療;卻仍不見改善。三叉神經主要支配額頭、臉頰和下頜的感覺。它是一種只影響半邊臉的突發性抽痛,如「觸電」感;平時日常生活的動作,例如刷牙、刮鬍子或更甚著風吹到臉都有可能引起一陣神經痛,當疼痛厲害時會引起顏面肌肉的抽搐;極少數人的三叉神經痛會影響兩邊臉。造成的原因有很多,其中包括了多發性硬化症(multiple sclerosis)或是腫瘤壓迫神經。好發於五十歲以上的婦女。

首先來瞭解三叉神經的解剖位置,三叉神經是十二對腦神經之一,毎一對腦神經各司頭部左右側;它們是控制頭頸部的動作、觸、痛、溫度、和壓力的感覺。三叉神經是最大的腦神經,毎個人有兩條三叉神經,一條管右側頭部,另一條管左側頭部。這十二對腦神經用一到十二的羅馬數字表示。三叉神經是第五對腦神經,所以用羅馬數字「V」表示;顧明思義,三叉神經分成三條分支,毎條分支各命名為V1、V2、和V3,下表分述三叉神經的分佈、名稱和功能。




































三叉神經-第五對腦神經

分支

名稱

分佈

功能

V1

眼分支

眼睛和前額

感覺

V2

上頜分支

下眼瞼、同側鼻子、上排牙齒、牙齦、嘴唇和同側臉頰。

感覺

V3

顎分支

下排牙齒、牙齦、嘴唇和同側下頜。

感覺

運動

感覺:把痛覺、壓覺、觸覺和溫度的感覺傳送給腦。


運動:運動的控制。


大部份三叉神經痛的患者經過許多檢驗後,是什麼原因都找不到,也就是屬於不明原因所造成的;其餘可以找到病因的分述如下:
一、三叉神經根被血管壓迫到,根據統計在可以找到病因的病人群中,這種是造成三叉神經痛最常見的原因,三叉神經的根部被彎曲的血管壓迫所引起的。我們的腦幹附近有許多條重要的血管,這些血管因為個人的差異或是隨著年歲的增長,它可能變得較為扭曲不直;甚至彎成環狀,而把在附近的三叉神經給壓著了。
二、少於3%的個案是因為神經去髓鞘化所造成的;例如三叉神經痛可能是多發性硬化症(Multiple Sclerosis)在嚴重時的症狀之一,但很少是初期的第一症狀。多發性硬化症就是一種神經髓鞘被破壞的疾病。
三、極少數案例是因腫瘤壓迫到三叉神經所引起的。
四、臉部外傷、臉部感染、臉部手術、或者是牙科處理造成三叉神經的損壞,也會造成三叉神經痛。
五、不明原因引起的,因為並不是所有的案例都找得原因。甚至於有特殊個案是屬於遺傳體質。

三叉神經痛的症狀是一種短暫數秒之內尖銳、像觸電或電擊的刺痛,但一天可以發生好多次;一般只影響單側臉,是有少數案例會影響雙側臉。三叉神經痛往往由特有的觸發來啓動,例如觸碰臉部、講話、吃東西、或刮鬍子等;這些觸發因子會因人而異。三叉神經痛可能會持續好幾天、好幾星期或數月後,自行消失數月或數年不等。三叉神經痛的疼痛區域包括了任何一條三叉神經所分佈區域,有時可能同時影響二條三叉神經,所以疼痛區域為:
一、V1(眼分支):第一分支主要影響眼部、前額和鼻子。
二、V2(上頜分支):第二分支主要影響下眼瞼、同側鼻子、上排牙齒、牙齦、嘴唇和同側臉頰。
三、V3(顎分支):第三分支主要影響下排牙齒、牙齦、嘴唇和同側下頜。
三叉神經痛分成典型三叉神經痛與非典型三叉神經痛。典型的三叉神經痛是一種尖銳、像觸電或電擊的刺痛,沒有任何臉部麻的感覺或臉無力;典型的三叉神經痛都會有一段時期完全不會痛;而且對一種治療癲癎的藥物,如癲通(Tegretol)有療效。非典型三叉神經痛除了上述的典型的疼痛外,有些患者還會感受到漲痛、灼熱感、博動或擠壓痛;有些患者的疼痛是一直持續而不會自行消失。非典型三叉神經痛比較難治療對藥物反應較差。

三叉神經痛的診斷除了一般內科理學檢查以及病史詢問外,最好加上影像學的檢查包括磁振攝影,三叉神經是否有被靜脈或動脈壓迫到;或者是什麼原因都找不到,而大部份的患者是屬於什麼原因都找不到的。假如找不到病因,除了臨床上的疼痛符合三叉神經痛之外,再加上臨床上對癲通(Tegretol, carbamazepine)有療效,就可以確立診斷。對於典型三叉神經痛而言,臨床上並不難診斷;比較難診斷的是非典型三叉神經痛。

治療三叉神經痛的第一首選藥物是Cabamazepine (Tegretol,癲通),其他藥物有Baclofen(Befon,貝隆芬錠)、Clonazepam(Rivotril,利福全)和Gabapentin(Neurontin),這些藥物可以單獨使用或合併使用。近期出產的Trileptal,其作用與癲通相同但有較少的副作用。當藥物作用也無法控制這種疼痛,對藥物反應不佳的病患可以考慮手術治療。治療的方法包括減壓手術及阻斷三叉神經傳導等。這些手術的利弊得失必須要與神經外科醫師討論才能有正確的了解。

「神經性疼痛」成因複雜,除了上述常見的三叉神經痛、疱疹後神經痛、和後枕性神經痛外,尚有坐骨神經痛、頸神經根壓迫的神經痛、多發性周邊神經病變的神經痛、複雜性局部疼痛症候群、多發性硬化症神經痛、癌症相關的神經痛等。這些長期慢性的神經性疼痛,不僅有疼痛的症狀,還會合併失眠、焦慮、憂鬱等症狀,影響工作表現,造成病人社會功能與生活品質的退化,甚至有自殺傾向;除了個人的病痛外,對家庭與社會更是沉重的負擔。往往病患常不知道如何就醫,只好在各醫院、各科別間尋找解痛之道。建議有神經疼痛困擾的病人,尋求專門處理神經性疼痛的神經科醫師,以得到適當的治療與建議;並且切記以下關於神經痛的重要特徵:
一、神經痛會延著神經的走向而疼痛;
二、一般而言,神經痛不是疾病,而是受傷或病變的症狀之一;
三、許多個案是屬於找不到原因的疼痛;
四、這種疼痛是可籍由藥物、物理治療或手術來治療,並非所謂的「絶症」。

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

做了一個不樣的的工作,總是會遇到很不一樣的問題。
以前都在linux like的embedded system下面寫程式/寫網頁,自由發揮、揮灑自如。
現在整個改成microsoft的環境,綁手綁腳的不習慣,寫個ASP.NET網頁還東牽西扯的。
心裡的惆悵實在難以用言語來形容,不懂微軟是在扼殺設計者的創意還怎樣。

稍作修正,之前寫的有一些錯誤,Excel在Server並不會關閉,而且只能在Server執行,Client並不會出現Excel應用程式視窗,視窗反而出現在Server端。
Server端Excel不會關閉(在[工作管理員]→[處理程序]內),可以參考此文章


這次使用內建的excel.dll來製作excel功能,如下:

Dim xlApp As Application
Dim xlBook As Workbook
Dim xlSheet As Worksheet
Dim xlRange As Range

On Error Resume Next
xlApp = GetObject(, "Excel.Application")
If Err.Number() <> 0 Then
    Err.Clear()
    xlApp = CreateObject("Excel.Application")
    If Err.Number() <> 0 Then
        errMsg.Text = Err.Description
        Return
    End If
End If

xlBook = xlApp.Workbooks.Open(Server.MapPath("~\報表範本.xls"))
xlApp.DisplayAlerts = False
xlApp.Visible = True
xlBook.Activate() '設為做用中的目標
xlBook.Parent.Windows(1).Visible = True

xlSheet = xlBook.Worksheets(1) '選取第1個sheet
xlSheet.Activate() '設此sheet為做用中的目標

'填入資料,有三種方法
xlSheet.Range("A1").Value = "Value" '把資料填到A1的格子內
xlSheet.Range("A1","A2").Value = "Value" '把資料填到A1~A2的格子內
xlSheet.Range(xlSheet.Cells(1,1), xlSheet.Cells(2,1)).Value = "Value" 
'把資料填到A1~A2的格子內,Cells(row,column),A=1,B=2,C=3,D=4...

xlApp.Run("報表範本.xls" & "!Caculater")
xlBook.SaveAs("要另存的檔名.xls")
xlBook.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) '關閉Excel
xlApp = Nothing
xlBook = Nothing
xlSheet = Nothing
xlRange = Nothing

用VS開發環境執行通常不會有錯誤,但是放到IIS上面,可能會出現各種不可預期的錯誤。
例如:
「擷取元件 (CLSID 為 {00024500-0000-0000-C000-000000000046}) 的 COM Class Factory 失敗,因為發生下列錯誤: 80070005 存取被拒。」

「無法執行 ActiveX 元件。」

其實是因為沒有設定Excel應用程式的使用權限,需要把IIS這個使用者加入,IIS才能夠使用Excel應用程式。
(以下為XP的設定步驟,其他作業系統可能稍有不同)
=> 執行 dcomcnfg
=> 主控台根目錄
  => 元件服務
  => 電腦
  => 我的電腦
  => DCOM 設定
=> 找到 Microsoft Excel Application
  => 右鍵 內容
=> 安全設定 頁籤
  => 「啟動和啟用權限」設為自訂, 編輯加入 IIS/IUSERS/ASPNET/NETWORKSERVICE, 給予本機啟動/啟用權限
  => 「存取權限」設為自訂, 編輯加入 IIS/IUSERS/ASPNET/NETWORKSERVICE, 給予本機存取權限
=> 識別碼 頁籤 => 選擇 互動式使用者-目前登入的使用者

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()