1. 如何將系統時間轉換成數值型態日期和時間?
為了顯示(介面)、計算或儲存(到Table),常常需要將系統時間轉換為數值型態的變數,可以參考以下的RPG程式:
Convert system time to decimal variables.
* Return the variable values of RTNDATE & RTNTIME.
* ----------------------------------------------------------------
C TIME SYSTIME 14 0
C* the SYSTIME will be HHmmssMMddyyyy.
C MOVE SYSTIME TMPDATE 8
C MOVEL...
日期時間和字串如何轉換? 如果沒有時間,DateTimePicker如何顯示空白?
日期時間和字串如何轉換? 如果沒有時間,DateTimePicker如何顯示空白?
- 將DateTimePicker的值(日期時間)轉為字串 :
string myDate = myDateTimePicker.Value.ToString("yyyyMMdd");
string myDateTime = myDateTimePicker.Value.ToString("yyyyMMddHHmmss");
- 將系統時間轉字串
string myDateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
- 將字串轉為DateTimePicker的值(日期時間):
myDateTimePicker.Value = DateTime.Parse(myDateTimeString);
- DateTimePicker如何顯示特定的日期格式:
myDateTimePicker.CustomFormat = "yyyy-MM-dd HH:mm:ss";
...
為什麼要(如何去)修改DataSet/DataTable的資料列狀態(RowState)?
- Dataset裡面的每一筆紀錄就是DataRow,每筆 DataRow 物件都有其 RowState 屬性(RowState有五種屬性,分別是Unchanged、Added、Modified、Deleted、Detached)。
- 當我們用DbDataAdapter.Update這個方法來更新Dataset的的紀錄時,它會根據Rowstate的值來做INSERT、UPDATE 或 DELETE。
但是在程式執行過程中,如果這個Dataset和(1)Datagridview或Textbox等控件做Binding時或(2)新增一個欄位時,它的RowState也會被改變。
所以為了DbDataAdapter.Update能正確更新使用者修改的紀錄,執行綁訂或新增欄位後需要將Dataset所有的紀錄的RowState恢復為UnChanged,以下程式可以達成此需求:
A. 針對單一Table :
internal static bool changeRowStateToUnchanged4Table(DataTable myTable)
{
bool...
DataGridView 的事件CellDoubleClick和 CellContentDoubleClick的差別在哪裡?
CellDoubleClick
: 使用者按兩下儲存格中的任何位置時發生。
CellContentDoubleClick
: 發生於使用者按兩下儲存格的內容時。
差別在於如果儲存格沒有值 (Null或Empty) 時,CellContentDoubleClick這事件是不會被觸發的;相反的,不管儲存格有沒有值,CellDoubleClick事件都會被觸發。
//the Event of CellDoubleClick
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//do something…
}
//the Event of CellContentDoubleClick
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//do something…
}
- 參考資料...
Datagridview如何新增一個序號欄位(透過Dataset)?
1. 填入(通常從資料庫)Dataset的值後,先新增mySeq欄到此Dataset :
if (!myDataset.Tables["myTable"].Columns.Contains("mySeq"))
myDataset.Tables["myTable"].Columns.Add("mySeq", typeof(int));
2. Datagridview指定DataSource和 DataMember :
dataGridView1.DataSource = myDataset;
dataGridView1.DataMember = "myTable";
3. Datagridview的RowPostPaint Event 新增以下 :
private voiddataGridView1_RowPostPaint(object sender,DataGridViewRowPostPaintEventArgs e)
{
if((dataGridView1.Rows[e.RowIndex].Cells["mySeq"].Value).ToString()...
如何限制Textbox只能輸入數字?
如何限制Textbox只能輸入數字?
在KeyPress Event加入以下程式即可。
//限制Textbox只能輸入數字
private void integerTextBox_KeyPress( object sender, KeyPressEventArgs e)
{
Char keyChar = e.KeyChar;
if ((keyChar < 48 || keyChar > 57) && keyChar != 8)
e.Handled = true;
}...
訂閱:
文章 (Atom)
>