這是我的文章備份,原文請看:

DetailsView or FormView「新增」一筆記錄時,事先帶入預設值?

http://www.dotblogs.com.tw/mis2000lab/archive/2014/03/31/detailsview_formview_itemcreated_20140331.aspx

 

Q :  進入 DetailsView or FormView的「新增」模式

      想要帶入一些預設值,省得User還要慢慢 Key in ??

 

 

 

A :  首先,您要先瞭解一些基本原理

例如:以前的文章,ADO.NET #10 DetailsView 變更模式(完全手寫、後置程式碼!)

 

自己測試的結果:

 

把程式寫在 ModeChanging事件內,無效。

   .FindControl()方法抓不到樣板裡面的「子控制項」

   寫法可以參閱 msdn網站 -- http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.detailsview.modechanging(v=vs.110).aspx

   重點程式碼  e.NewMode = DetailsViewMode.Insert

 

 

把程式寫在 ModeChanged事件內,無效。

   .FindControl()方法抓不到樣板裡面的「子控制項」

   重點程式碼  DetailsView1.CurrentMode = DetailsViewMode.Insert

 

 

DetailsView與 FormView並沒有像Gridview有一個 RowDataBound事件

但他們共用的一個 XXXCreated事件是有的!

DetailsView與 FormView  --  ItemCreated事件

GridVeiw  --  RowCreated事件

 

把程式寫在這裡,DetailsView與 FormView  --  ItemCreated事件

就完成了。

 

    protected void DetailsView1_ItemCreated(object sender, EventArgs e)
    {        
        if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
        {
            TextBox TB = (TextBox)DetailsView1.FindControl("TextBox2");
            Response.Write(TB.Text);
 
            TextBox TB1 = (TextBox)DetailsView1.FindControl("TextBox1");
            TB1.Text = "HELLO!!";
            // 把 "預設值"寫入
        }
    }

 

====  VB語法寫成  =====================================================

        If (DetailsView1.CurrentMode = DetailsViewMode.Insert) Then
       
            Dim TB As TextBox = DetailsView1.FindControl("TextBox2")
            Response.Write(TB.Text)
 
            Dim TB1 As TextBox = DetailsView1.FindControl("TextBox1")
            TB1.Text = "HELLO!!"
            ' 把 "預設值"寫入
 
        End If

 

 


 

............................. 寫信給我,mis2000lab (at) yahoo.com.台灣........................................................

.............................   facebook社團   https://www.facebook.com/mis2000lab   ............................

.............................   Google+   https://plus.google.com/100202398389206570368/posts ..............

 

 

 

DetailsView or FormView「新增」一筆記錄時,事先帶入預設值?

http://www.dotblogs.com.tw/mis2000lab/archive/2014/03/31/detailsview_formview_itemcreated_20140331.aspx

 

 

 

ASP.NET課程 / ASP.NET教學,請看

    http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

 

    [台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr

 

ASP.NET影片、遠距教學,請看:

    http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx

 

    [遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!

 

arrow
arrow

    MIS2000 Lab 發表在 痞客邦 留言(0) 人氣()