Solved

How to call DetailsView's New explicitly??

Posted on 2008-10-07
2
367 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 500 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

Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

Question has a verified solution.

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

Suggested Solutions

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

752 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