ကြၽန္ေတာ္တို႔ အခု C# နဲ႔ web page ေပၚမွာ calendar တစ္ခုေဆာက္ ၾကရေအာင္။ မ်ားေသာအားျဖင့္ေတာ့ web page မွာ calendar ေတြကို Javascript နဲ႔ ေဆာက္ေလ့ ရွိၾကပါတယ္။ အခုကြၽန္ေတာ္က ဒီဘေလာ့ေလးအတြက္ Post တင္တဲ႔ ေန႔ေတြကို Calendar နဲ႔ ျပခ်င္တာဆိုေတာ့ Javascript နဲ႔ အဆင္မေျပဘူး။ ဒါေၾကာင့္ C# ကေနပဲ Calendar ေဆာက္လိုက္တာပါ။ ကဲ စလိုက္ရေအာင္…read more…
January 29, 2010
Using String in C# (Part 1)
C# Programming language ထဲမွာ ကြၽန္ေတာ္တို႔ အသံုးမ်ားတဲ႔ string အေၾကာင္းကို အနည္းငယ္ ေလ့လာၾကည့္ၾကရေအာင္။ တကယ္ေတာ့ string ဆိုတာ character ေတြစုထားတဲ႔ character array ပဲ ျဖစ္ပါတယ္။ string ကို ေရးမယ္ဆိုရင္ C# မွာ double code sign ( ” ) အဖြင့္အပိတ္အတြင္းမွာ ေရးရပါတယ္။ ဒီလိုမ်ိဳးပါ….read more…
TinyMCE Text Editor
ကြၽန္ေတာ္တို႔ web application ေတြမွာ Microsoft Word လိုမ်ိဳး Text Editor ေတြ သံုးဖို႔ လိုအပ္လာၿပီဆိုရင္ ကြၽန္ေတာ္တို႔ အတြက္ ေရြးခ်ယ္စရာေတြ အမ်ားအျပား ရွိပါတယ္။ အသံုးမ်ားတဲ႔ Text Editor ေတြက FreeTextBox (http://freetextbox.com), TinyMCE (http://tinymce.moxiecode.com), FCKEditor (http://ckeditor.com) တို႔ ျဖစ္ၾကပါတယ္။ အရင္တုန္းကေတာ့ ကြၽန္ေတာ္ FreeTextBox Control ကို သံုးခဲ႔ဘူးပါတယ္။ Dot Net 1.1 မွာ သံုးခဲ႔တာပါ။ အခုကြၽန္ေတာ္လက္ရွိသံုးေနတာက TinyMCE Editor ကိုသံုးေနပါတယ္။ ပိုလြယ္တယ္ ထင္လို႔ပါ။ read more….
Silverlight Offline Installation
ကြၽန္ေတာ္တို႔ software တစ္ခုရဲ႕ exe file ကို internet ကေန download လုပ္ၿပီး ကြၽန္ေတာ္တို႔ရဲ႕ အိမ္က computer မွာ install လုပ္တဲ႔ အခါမွာ တခါတေလေတြ႔ရတ႔ဲ အခက္အခဲ တစ္ခုရွိပါတယ္။ အဲ့ဒါကေတာ့ ကြၽန္ေတာ္တို႔ install လုပ္လိုက္တဲ႔ အခါမွာ installer အတြက္ လိုအပ္တဲ႔ တခ်ိဳ႕ အပိုင္းေလးေတြကို online မွာ သြားရွာၿပီး download လုပ္ေနျခင္းပါပဲ။ အင္တာနက္ခ်ိတ္ထားတဲ႔ ကြန္ပ်ဴတာေတြအတြက္ အေရးမၾကီးေပမယ့္၊ ကြၽန္ေတာ့္ အိမ္က ကြန္ပ်ဴတာလိုမ်ိဳး internet မခ်ိတ္ထားတဲ႔ computer ေတြမွာ install လုပ္ရေတာ့မယ္ ဆိုရင္ေတာ့၊ ဒါဟာ တကယ့္ကို ဆိုးရြားတဲ႔ ျပႆနာ တခုျဖစ္လာပါေတာ့တယ္။ ဒီအခါမွာ internet မခ်ိတ္ထားတဲ႔ offline အေျခအေနမွာပါ install လုပ္လို႔ ရမယ့္ offline installer ဆိုတာေတြကို ဒုကၡခံၿပီး ရွာၾကရပါတယ္။ read more…
January 21, 2010
ေနရာ ေျပာင္းပါေတာ့မယ္
ကြၽန္ေတာ့္ ဘေလာ့ေလးကို အခုသံုးေနတဲ႔ wordpress ကေန ကိုယ္ပိုင္ site ေလးကို ေျပာင္းေတာ့မလို႔ပါ။ http://www.sevenlamp.co.cc ပါ။ အခုလက္ရွိ develop လုပ္ေနတုန္းပါပဲ။ ဒါေၾကာင့္ ပိုဒ့္ေတြ ေလာေလာဆယ္ မတင္ျဖစ္ေသးပါဘူး။ ဘေလာ့ အသစ္မွာ ေနာက္အက်ဆံုး 1 Feb 2010 ထားျပီး ပိုဒ့္ေတြ စျပီး တင္ပါ့မယ္။ အခု ဒီဘေလာ့ အေဟာင္းေလးက ပိုဒ့္ေတြကိုလည္း ျပန္ျပီး ေရႊ႕ထားပါ့မယ္။ ဘေလာ့ အသစ္ေလးကို လာေရာက္ ၾကဖို႔ ဖိတ္ေခၚပါတယ္။ အခုမွ developing လုပ္တုန္း ျဖစ္တဲ႔ အတြက္ အဆင္မေျပတာေလးေတြရွိရင္ သည္းခံျပီး ေထာက္ျပေပးၾကပါခင္ဗ်ာ။ အၾကံဥာဏ္ေလးမ်ားလည္း ေတာင္းဆိုခ်င္ပါတယ္။
ေက်းဇူးတင္ပါတယ္ ခင္ဗ်ာ။
sevenlamp
January 1, 2010
developing a site ( part 4 )
Latest Source Code (1/1/2010 အထိ) http://www.sendspace.com/file/uxkj6h
ကြၽန္ေတာ္ အလြယ္ဆံုးလို႔ ထင္တဲ႔ project ထဲကို About Page ထည့္တဲ႔ အပိုင္းေလးကို အရင္ဆံုး စလုပ္လိုက္ပါတယ္။ project ထဲကို AboutMe.aspx page ေလး ထည့္လိုက္ျပီး။ About မွာ ျပမယ့္ message ေတြအတြက္ entry အပိုင္း က မလုပ္ရေသးေတာ့။ စာသားေတြကို ဒီတိုင္းပဲ Page ထဲကို ထည့္ျပလိုက္ပါတယ္။ comment ေပးတဲ႔ အပိုင္းေလးေရးဖို႔အတြက္၊ Database ထဲမွာ Comments Table သြားေဆာက္လုိက္ပါတယ္။
| Column Name | Data Type | Allow Nulls |
| CommentID | int | Unchecked |
| PostID | int | Checked |
| MemberID | int | Checked |
| CommentTitle | nvarchar(500) | Checked |
| CommentText | nvarchar(MAX) | Checked |
| CommentTime | datetime | Checked |
| CommentAuthorName | nvarchar(50) | Checked |
| CommentAuthorLocation | nvarchar(50) | Checked |
ကြၽန္ေတာ္က DataBase နဲ႔ ခ်ိတ္တဲ႔ ေနရာမွာ objectdatasource ကိုပဲ သံုးမွာ မို႔လို႔ DataSet လည္းေဆာက္ေပးဖို႔လိုပါေသးတယ္။ ျပီးရင္ comment entry အတြက္ textbox ေလးေတြထည့္တယ္။ Validation အတြက္ requirefield validator နဲ႔ email format အတြက္ Regularexpression validator controls ေတြကို ထည့္ထားပါတယ္။ send button ႏွိပ္ရင္ server သြားတဲ႔ အလုပ္ကို updatepanel ထဲမွာ ပဲ ထည့္ေပးလိုက္ပါတယ္။
Comment list ျပန္ျပဖို႔အတြက္ေတာ့ gridview control ကိုပဲ သံုးျပီး object datasource နဲ႔ ခ်ိတ္ျပလိုက္ပါတယ္။ ဒီ page ေလးက ရွင္းပါတယ္။ ကုဒ္လည္း သိပ္မရႈပ္ဘူး။
public partial class AboutMe : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Title = "About Page : sevenlamp.co.cc";
ShowCommentCount();
}
private void ShowCommentCount()
{
DataSet_CommentTableAdapters.CommentsTableAdapter adp = new DataSet_CommentTableAdapters.CommentsTableAdapter();
int commentCount = (int)adp.GetCommentCountByPostID(0);
if (commentCount == 0)
lblTotalComment.Text = "No Comment";
else if (commentCount == 1)
lblTotalComment.Text = commentCount.ToString() + " Comment";
else
lblTotalComment.Text = commentCount.ToString() + " Comments";
}
protected void SendButton_Click(object sender, EventArgs e)
{
ObjectDataSource2.Insert();
}
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
e.InputParameters["CommentTime"] = DateTime.Now;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((Label)e.Row.FindControl("lblCommentNo")).Text = "#" + (e.Row.RowIndex+1).ToString();
}
}
protected void ObjectDataSource2_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
ShowCommentCount();
GridView1.DataBind();
}
}