Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / December 2007

Tip: Looking for answers? Try searching our database.

Insert Button. ListView or GridView. Is this possible?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
shapper - 04 Dec 2007 19:37 GMT
Hello,

I am working with a ListView but I suppose that with a GridView might
be the same.

Instead of having an Insert Button on each GridView row I would like
to have only one Insert button, for example, in the GridView footer.

When this button is clicked it should put the GridView in Insert Mode
and the EditTemplate should be showed, maybe (?), in the last GridView
row.

Do you understand what I mean?

Any idea how to do this?

Thanks,

Miguel
shapper - 05 Dec 2007 01:31 GMT
> Hello,
>
[quoted text clipped - 15 lines]
>
> Miguel

Please, what I need is something like what you find in the following
ComponentArt Grid:

http://www.componentart.com/webui/demos/demos_control-specific/grid/features/edi
ting_dataCallbackMode/WebForm1.aspx


See the button "Add Row" on bottom.
When this button is clicked the Grid goes to Edit mode and the data is
inserted in a new row after the last row.

This is what I need to do.

Any idea?

Thanks,

Miguel
Manuel Ricca - 05 Dec 2007 11:24 GMT
Hello Miguel,

Check out this URL which helped me solve this problem:
http://www.koffeekoder.com/ArticleDetails.aspx?id=139

Basically you just have to edit the footer template for the column
where you want and put a button in it. Then set the CommandName for
the button and in the RowCommand event handler find out if this is the
command that was fired. Here you insert your item into the datasource
and the gridview will be updated reflecting these changes.

Here is a snippet from my own app. In this app I have a GridView with
3 columns, and in the footer I placed 2 textboxes and an "Add" button.
As you can see below, the textboxes are named txtNewURL and
txtNewURLNPages. Then I'm using an ObjectDataSource with 2 insert
parameters (I put the code below too).

ServiceConfiguration.aspx ("Actions" column in the GridView)

<asp:TemplateField HeaderText="Actions">
...
<FooterTemplate>
<asp:Button id="cmdAddURL" runat="server" Text="Add"
__designer:wfdid="w4" CommandName="AddURL"></asp:Button>
</FooterTemplate>
...
</asp:TemplateField>

ServiceConfiguration.aspx.cs:

   protected void gridTargetURLs_RowCommand(object sender,
GridViewCommandEventArgs e)
   {
       if (e.CommandName.Equals("AddURL"))
       {
           string url =
((TextBox)gridTargetURLs.FooterRow.FindControl("txtNewURL")).Text;
           string szNumberOfPages =
((TextBox)gridTargetURLs.FooterRow.FindControl("txtNewURLNPages")).Text;
           DS_Urls.InsertParameters["url"].DefaultValue = url;
           DS_Urls.InsertParameters["numberOfPages"].DefaultValue =
szNumberOfPages;
           DS_Urls.Insert();
       }
   }

Now the ObjectDataSource stuff (you could use any other data source
though):

ServiceConfiguration.aspx:

                                               <asp:ObjectDataSource
ID="DS_Urls" runat="server" DeleteMethod="ODS_TargetURLDelete"
InsertMethod="ODS_TargetURLInsert"
OnObjectCreating="DS_Urls_ObjectCreating"
SelectMethod="ODS_TargetURLSelect" TypeName="CWService"
UpdateMethod="ODS_TargetURLUpdate">
                                                   <InsertParameters>
                                                       <asp:Parameter
Name="url" Type="String" />
                                                       <asp:Parameter
Name="numberOfPages" Type="String" />
                                                   </
InsertParameters>
                                                   <DeleteParameters>
                                                       <asp:Parameter
Name="id" Type="Int32" />
                                                   </
DeleteParameters>
                                                   <UpdateParameters>
                                                       <asp:Parameter
Name="id" Type="Int32" />
                                                       <asp:Parameter
Name="url" Type="String" />
                                                       <asp:Parameter
Name="numberOfPages" Type="String" />
                                                   </
UpdateParameters>
                                               </
asp:ObjectDataSource>

ServiceConfiguration.aspx.cs:

   public void ODS_TargetURLInsert(string url, string numberOfPages)
   {
       targetURLs.Add(new CWTargetURL(url,
int.Parse(numberOfPages)));
   }

Hope this helps!

Manuel Ricca

> > Hello,
>
[quoted text clipped - 34 lines]
>
> - Show quoted text -

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.