2011年1月12日 星期三

RDLC報表每頁固定筆數

1.新增群組,輸入下面公式 =Int((RowNumber(NOTHING)-1)/35) 35筆一頁
2.群組的分頁符號選項勾選"在群組的每個執行個體之間"

若要拆成5筆資料一條黑線
在BorderStyle的Bottom公式輸入 =IIf(RowNumber("K01") mod 5 =0,"Double","None")即可

2010年11月26日 星期五

TextBox 千分位自動加上逗號

畫面上新增一個 AMT_txt (Textbox)
Page_Load加入 AMT_txt.Attributes("onkeyup") = "trans_amt('" + AMT_txt.ClientID + "');" 
以下為JavaScript 注意JavaScript的replace只取代第一個相同的字串 必須加上/\ /g
function trans_amt(Name) {
var amt = document.getElementById(Name).value;
var amt_length = amt;
amt = amt.replace(/\,/g, "");
re = /(\d{1,3})(?=(\d{3})+(?:$|\D))/g;
n1 = amt.replace(re, "$1,");
document.getElementById(Name).value = n1;
//var sel = document.selection.createRange();
//sel.moveStart('character', amt_length.length);
//sel.collapse(true);
//sel.select();
}

2010年11月25日 星期四

UserControl 動態控制 Page面頁元件

可使用委派和 AddressOf 運算子解決此問題
1.UserControl (Pager1.ascx)
Partial Class Pager1
Public Event btnClick As EventHandler
Protected Sub btnLAS_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLAS.Click
'(此事件控制Page頁面元件)
RaiseEvent btnClick(sender, e)
End Sub
End Class
2.Page (bb.aspx.vb)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddHandler Me.Pager1.btnClick, AddressOf pager1_btnClick
End Sub
Private Sub pager1_btnClick(ByVal sender As Object, ByVal e As EventArgs)
'(控制Page頁面的code寫在這裡)
'page_index.Value = TryCast(Pager1.FindControl("Label1"), Label).Text - 1
End Sub

2010年11月9日 星期二

ASP.NET 讀寫dbf 檔

新版的ODBC driver好像不支援了(不確定) 因此我改用oledb 不過記得裝一個檔案叫 vfpoledb.exe 否則會發生錯誤
Dim ora_Conn As New OleDbConnection
Dim dt As New DataTable
Dim connStr As String = "provider=vfpoledb;data Source=c:\"
ora_Conn.ConnectionString = connStr
ora_Conn.Open()
Dim sql As String
sql = "insert into R991025.dbf(SUPPLIER,SUPPMAN,ITEMNO,KINDX,GRADE,PCS,QTYOK,PACKOK,TRN_WAY)"
sql = sql + " VALUES('1','2','3','4','5',6,7,8,'9')"
'sql = "select * from R991025.dbf"
Dim ora_cmd As OleDbCommand = New OleDbCommand(sql, ora_Conn)
ora_cmd = New OleDbCommand(sql, ora_Conn)
ora_cmd.ExecuteNonQuery()
'dt.Load(ora_cmd.ExecuteReader)
Me.GridView1.DataSource = dt
Me.GridView1.DataBind()

2010年11月8日 星期一

ASP.NET換行符號

C# : (包在字串裡)
msg = "test" + "\r\n";
VB.NET :
msg = "test" +vbcrlf

2010年11月5日 星期五

ASP.NET 民國年轉換函數

民國年轉換函數(支援100年) GOOGLE來的,作者不詳... ChangeTaiwanCalendar(DateTime.Now)
Public Shared Function ChangeTaiwanCalendar(ByVal x As DateTime, ByVal format As String) As String
Dim now As DateTime = x Dim tc As New Globalization.TaiwanCalendar() Dim regex As Regex = New System.Text.RegularExpressions.Regex("[yY]+") format = regex.Replace(format, tc.GetYear(x).ToString("000")) Return x.ToString(format) End Function

ASP.NET TextBox 英文自動轉大寫

在TextBox加入此樣式即可
不過要注意如果有寫入資料庫 還是得再轉換一次大寫
style="TEXT-TRANSFORM: uppercase"