Solved

How to call DetailsView's New explicitly??

Posted on 2008-10-07
2
357 Views
Last Modified: 2012-05-05
Hi,

DetailsView has these edit,delete,new builtin function.
How can I call this new detailsview explicityly??
As you know detailsview let you handle update, delete and insert.
I want to use that same detailsview to handle edit and insert a new record.
How can I call this new detailsview??
Thanks.
0
Comment
Question by:dkim18
  • 2
2 Comments
 
LVL 16

Expert Comment

by:GreymanMSC
Comment Utility
If the command buttons are placed inside a Template Field, you can change the DetailsView's mode according to their CommandName.  Set the attribute to Edit, or New as appropriate in the ItemTemplate.  The commands to save the record are Update and Insert, or Cancel to ... not save, obviously.  

This is the usual method.


<asp:TemplateField>

    <EditItemTemplate>

        <asp:Button ID="cmdUpdate" runat="server" CommandName="Update" Text="Save" />

        <asp:Button ID="cmdCancel" runat="server" CommandName="Cancel" Text="Undo" />

    </EditItemTemplate>

    <InsertItemTemplate>

        <asp:Button ID="cmdInsert" runat="server" CommandName="Insert" Text="Save" />

        <asp:Button ID="cmdCancel" runat="server" CommandName="Cancel" Text="Undo" />

    </InsertItemTemplate>

    <ItemTemplate>

        <asp:Button ID="cmdEdit" runat="server" CommandName="Edit" Text="Edit" />

        <asp:Button ID="cmdNew" runat="server" CommandName="New" Text="Add New" />

    </ItemTemplate>

</asp:TemplateField>

Open in new window

0
 
LVL 16

Accepted Solution

by:
GreymanMSC earned 500 total points
Comment Utility
However, if the command button is located outside the DetailsView, then you need to use server side code in the buttons' OnClick event.  The code can call the ChangeMode method to switch from ReadOnly to Edit or Insert, or back to cancel.  To save the record use the UpdateItem or InsertItem methods, as appropriate
    Protected Sub cmdEdit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdEdit.Click

        Me.dvItems.ChangeMode(DetailsViewMode.Edit)

        Me.cmdEdit.Visible = False

        Me.cmdNew.Visible = False

        Me.cmdSave.Visible = True

        Me.cmdCancel.Visible = True

    End Sub
 

    Protected Sub cmdNew_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdNew.Click

        Me.dvItems.ChangeMode(DetailsViewMode.Insert)

        Me.cmdEdit.Visible = False

        Me.cmdNew.Visible = False

        Me.cmdSave.Visible = True

        Me.cmdCancel.Visible = True

    End Sub
 

    Protected Sub cmdCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdCancel.Click

        Me.dvItems.ChangeMode(DetailsViewMode.ReadOnly)

        Me.cmdEdit.Visible = True

        Me.cmdNew.Visible = True

        Me.cmdSave.Visible = False

        Me.cmdCancel.Visible = False

    End Sub
 

    Protected Sub cmdSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSave.Click

        Select Case Me.dvItems.CurrentMode 

            Case DetailsViewMode.Edit

                Me.dvItems.UpdateItem(True)

                If Me.Page.IsValid Then

                    Me.dvItems.ChangeMode(DetailsViewMode.ReadOnly)

                End If

            Case DetailsViewMode.Insert

                Me.dvItems.InsertItem(True)

                If Me.Page.IsValid Then

                    Me.dvItems.ChangeMode(DetailsViewMode.ReadOnly)

                End If

        End Select 

    End Sub

Open in new window

0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now