Trying to Add Insert Row to Footer in GridView ASP.net

Posted by chillconsulting on Stack Overflow See other posts from Stack Overflow or by chillconsulting
Published on 2010-05-09T17:01:51Z Indexed on 2010/05/09 17:08 UTC
Read the original article Hit count: 394

Filed under:
|
|
|

I'm trying to give the user the ability to create a new record from the footer row and my event handler doesn't seem to be working... or maybe I'm going at this all wrong.

The insert button that I enabled in the gridview doesn't work either...checkout the site at http://aisched.engr.oregonstate.edu/admin/courses.aspx

Here is my code in front and behind:

public partial class admin_courses : System.Web.UI.Page
{
public Table table;
ListDictionary listValues = new ListDictionary();
TextBox textBox1 = new TextBox(); //Name
TextBox textBox2 = new TextBox(); //CR
TextBox textBox3 = new TextBox(); //CourseNum
TextBox textBox4 = new TextBox(); //Dept



protected void Page_Init()
{

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType != DataControlRowType.Footer) return; //Escape if not footer

    textBox1.ID = "name";
    textBox1.Width = 250;
    textBox2.ID = "credit_hours";
    textBox2.Width = 25;
    textBox3.ID = "dept";
    textBox3.Width = 30;
    textBox4.ID = "class";
    textBox4.Width = 25;

    LinkButton add = new LinkButton();
    add.ID = "add";
    add.Text = "Add course";
    add.CommandName = "add";
    add.Click += new EventHandler(add_Click);

    e.Row.Cells[1].Controls.Add(textBox1);
    e.Row.Cells[2].Controls.Add(textBox2);
    e.Row.Cells[3].Controls.Add(textBox3);
    e.Row.Cells[4].Controls.Add(textBox4);
    e.Row.Cells[5].Controls.Add(add);

}


public void add_Click(object sender, EventArgs e)
{
    Response.Write("you Clicked Add Course!");

        if (textBox1.Text != null && textBox2.Text != null && textBox3.Text != null && textBox4.Text != null) {
            listValues.Add("name", textBox1.Text);
            listValues.Add("credit_hours", textBox2.Text);
            listValues.Add("dept", textBox4.Text); //For Visual
            listValues.Add("class", textBox3.Text);
        }
        LinqDataSource1.Insert(listValues);
        Response.Redirect("~/admin/courses.aspx");
}

}

<%@ Page Language="C#" MasterPageFile="~/admin.master" AutoEventWireup="true" CodeFile="courses.aspx.cs" Inherits="admin_courses" Title="OSU Aisched | Admin - Courses" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content ID="Content1" ContentPlaceHolderID="admin_nav_links" Runat="Server">
<ul id="main">
    <li><a href="overview.aspx">Overview</a></li>
    <li><a href="users.aspx">Users</a></li>
    <li class="current_page_item"><a href="courses.aspx">Courses</a></li>
    <li><a href="programs.aspx">Programs</a></li>
    <li><a href="sections.aspx">Sections</a></li>
    <li><a href="import.aspx">Import</a></li>
    <li><a href="logs.aspx">Logs</a></li>
</ul>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<form id="Form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
ContextTypeName="DataClassesDataContext" EnableDelete="True" 
EnableInsert="True" EnableUpdate="True" TableName="courses">
</asp:LinqDataSource>
<h1><a>Courses</a></h1>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
</asp:UpdateProgress>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="course_id" DataSourceID="LinqDataSource1" 
    BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" 
    CellPadding="3" CellSpacing="2" AllowSorting="True" ShowFooter="True"
    OnRowDataBound="GridView1_RowDataBound" >
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<Columns>
    <asp:BoundField DataField="course_id" HeaderText="ID" 
        ReadOnly="True" SortExpression="course_id" />
    <asp:BoundField DataField="name" HeaderText="Name" SortExpression="name" />
    <asp:BoundField DataField="credit_hours" HeaderText="CR" 
        SortExpression="credit_hours" />
    <asp:BoundField DataField="dept" HeaderText="Dept" SortExpression="dept" />
    <asp:BoundField DataField="class" HeaderText="#" SortExpression="class" />
    <asp:CommandField DeleteImageUrl="~/media/delete.png" ShowDeleteButton="True" 
        ShowEditButton="True" ShowInsertButton="True"/>
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
</asp:GridView>


<br />
<asp:HyperLink ID="HyperLink1" runat="server" Target="~/admin/addCourse.aspx"  Enabled="true"NavigateUrl="~/admin/addCourse.aspx" Text="Add New course"></asp:HyperLink>
<br />

</form>

</asp:Content>

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about c#