Home All Groups Group Topic Archive Search About

How to insert a new record in detailsview when there are no record

Author
16 Nov 2005 9:01 AM
Frits van Soldt
In the detailsview you can add a 'new' button to add new records. This works
fine if there are already some records in the table. But when the table is
empty, the button is not shown, thus not allowing to create any records! How
can I show the button even if there are no records?

Author
16 Nov 2005 10:47 PM
Phillip Williams
Hi Frits,

The SqlDataSource raises an event named "Selected". It is triggered after
the SqlDataSource object executed the Select command.  You can check the
AffectedRows in handling this event and if it is zero then set the
DetailsView mode to Insert.

1-  In the Page_init or Page_Load wire up an event handler for the Selected
event of the SqlDataSource:

SqlDataSource1.Selected += new
SqlDataSourceStatusEventHandler(SqlDataSource1_Selected);

2-    Write an eventhandler like this:

Void SsqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
    if(e.AffectedRows==0)
    {
        DetailsView1.ChangeMode(DetailsViewMode.Insert);
    }   
}

--
[note: if this post answers your question, you can mark it as an answer
using the web-based newsreader functions]
-----
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com


Show quoteHide quote
"Frits van Soldt" wrote:

> In the detailsview you can add a 'new' button to add new records. This works
> fine if there are already some records in the table. But when the table is
> empty, the button is not shown, thus not allowing to create any records! How
> can I show the button even if there are no records?
Author
17 Nov 2005 9:18 AM
Frits van Soldt
Philip,
thank you very much for your answer!
I found out a different solution, I added a link called 'create new record'
in the missing data template and in the onclick event change the detailsview
state. But your solution is also perfect!
Thanks again.

Show quoteHide quote
"Phillip Williams" wrote:

> Hi Frits,
>
> The SqlDataSource raises an event named "Selected". It is triggered after
> the SqlDataSource object executed the Select command.  You can check the
> AffectedRows in handling this event and if it is zero then set the
> DetailsView mode to Insert.
>
> 1-  In the Page_init or Page_Load wire up an event handler for the Selected
> event of the SqlDataSource:
>
> SqlDataSource1.Selected += new
> SqlDataSourceStatusEventHandler(SqlDataSource1_Selected);
>
> 2-    Write an eventhandler like this:
>
> Void SsqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
> {
>     if(e.AffectedRows==0)
>     {
>         DetailsView1.ChangeMode(DetailsViewMode.Insert);
>     }   
> }
>
> --
> [note: if this post answers your question, you can mark it as an answer
> using the web-based newsreader functions]
> -----
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Frits van Soldt" wrote:
>
> > In the detailsview you can add a 'new' button to add new records. This works
> > fine if there are already some records in the table. But when the table is
> > empty, the button is not shown, thus not allowing to create any records! How
> > can I show the button even if there are no records?