Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to call DetailsView's New explicitly??

Posted on 2008-10-07
2
Medium Priority
?
376 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
ID: 22675381
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 2000 total points
ID: 22675423
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

Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Integration Management Part 2
Suggested Courses

971 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