Insert Button. ListView or GridView. Is this possible?

S

shapper

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
 
S

shapper

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

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

http://www.componentart.com/webui/d...atures/editing_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
 
M

Manuel Ricca

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
 
Joined
Nov 19, 2008
Messages
1
Reaction score
0
Could you pls suggest how to include Insert,update and delete in ListView using the ObjectDataSource???
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top