Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc100 / otchet5.doc
Скачиваний:
28
Добавлен:
01.08.2013
Размер:
183.81 Кб
Скачать

5.3 Выполнение работы

Текст файла Supermarket.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Supermarket.master.cs" Inherits="lab5.Supermarket" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Супермаркет</title>

<asp:ContentPlaceHolder ID="head" runat="server">

</asp:ContentPlaceHolder>

<style type="text/css">

.style1

{

width: 154px;

height: 151px;

}

.style2

{

width: 196px;

}

.style3

{

height: 151px;

}

.style4

{

width: 201px;

}

</style>

</head>

<body>

<form id="form1" runat="server">

<div>

<table style="width:100%;">

<tr>

<td class="style1">

<asp:Image ID="Image1" runat="server" Height="170px" ImageUrl="~/img/s1.jpg"

Width="196px" />

</td>

<td align="center" bgcolor ="Blue" class="style3" >

<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Size="25pt" Text="Супермаркет" ForeColor="#EEC900"></asp:Label>

</td>

</tr>

</table>

</div>

<table style="width: 100%; margin-top: 0px; height: 238px;">

<tr>

<td align="left" class="style4">

<asp:Label ID="Label2" runat="server"

Text="МЕНЮ" Font-Size="16pt"

ForeColor="#0066FF"></asp:Label>

<asp:Menu ID="Menu1" runat="server" Font-Size="16pt" ForeColor="Maroon"

Height="83px" Width="191px">

<Items>

<asp:MenuItem Text="Продавцы" Value="Продавцы">

</asp:MenuItem>

<asp:MenuItem Text="Товары" Value="Товары">

</asp:MenuItem>

</Items>

</asp:Menu>

</td>

<td>

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder>

</td>

</tr>

</table>

<table style="width:100%; height: 47px;">

<tr>

<td>

<hr style="color: #800000" /></td>

</tr>

<tr>

<td align="center">

<asp:Label ID="Label3" runat="server"

Text="Vlad(c)" ForeColor="Maroon">

</asp:Label>

</td>

</tr>

</table>

</form>

</body>

</html>

Текст файла Supermarket.Master.cs

using System;

using System.Collections;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using NHibernate;

using NHibernate.Cfg;

using FluentNHibernate;

using FluentNHibernate.Cfg;

using FluentNHibernate.Cfg.Db;

using FluentNHibernate.Automapping;

using NHibernate.Tool.hbm2ddl;

using System.Reflection;

namespace lab5

{

public partial class Supermarket : System.Web.UI.MasterPage

{

private ISessionFactory factory;

private ISession session;

//Метод открытия сессии

private ISession openSession(String host, int port, String database,

String user, String passwd)

{

ISession session = null;

//Получение ссылки на текущую сборку

Assembly mappingsAssemly = Assembly.GetExecutingAssembly();

if (factory == null)

{

//Конфигурирование фабрики сессий

factory = Fluently.Configure()

.Database(PostgreSQLConfiguration

.PostgreSQL82.ConnectionString(c => c

.Host(host)

.Port(port)

.Database(database)

.Username(user)

.Password(passwd)))

.Mappings(m => m.FluentMappings

.AddFromAssembly(mappingsAssemly))

.ExposeConfiguration(BuildSchema)

.BuildSessionFactory();

}

//Открытие сессии

session = factory.OpenSession();

return session;

}

//Метод для автоматического создания таблиц в базе данных

private static void BuildSchema(Configuration config)

{

//new SchemaExport(config).Create(false, true);

}

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Page_Init(object sender, EventArgs e)

{

session = openSession("localhost", 5432,

"market2", "postgres", "06031992");

Session["hbmsession"] = session;

}

}

}

Текст файла Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="lab5._Default" MasterPageFile="~/Supermarket.Master"%>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<table align="center">

<tr align="center">

<td>

<asp:Label ID="Label4" runat="server" Text="Список продавцов"

Font-Size="20pt" ForeColor="Maroon" Font-Bold="True"/>

</td>

</tr>

<tr>

<td>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"

ShowFooter="true" ShowHeader="true"

AllowPaging="true" PageSize="10"

onrowdeleting="GridView1_RowDeleting"

onrowediting="GridView1_RowEditing"

onrowcancelingedit="GridView1_RowCancelingEdit"

onpageindexchanging="GridView1_PageIndexChanging"

onrowupdating="GridView1_RowUpdating"

onrowcommand="GridView1_RowCommand"

Font-Size="14pt"

HorizontalAlign="Center"

Width="804px" Height="500px">

<Columns>

<asp:TemplateField HeaderText="Имя продавца"

ItemStyle-Width="200">

<ItemTemplate>

<asp:Label id="myLabel1" runat="server"

Text='<%# Bind("NameProd")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox1" runat="server" Width="200"

Text='<%# Bind("NameProd") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox1" runat="server"

Width="200" Text='<%# Bind("NameProd") %>' />

</FooterTemplate>

<ItemStyle Width="200px"></ItemStyle>

</asp:TemplateField>

<asp:TemplateField HeaderText="Фамилия продавца"

ItemStyle-Width="300">

<ItemTemplate>

<asp:Label id="myLabel2" runat="server"

Text='<%# Bind("Surname")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox2" runat="server" Width="300"

Text='<%# Bind("Surname") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox2" runat="server" Width="300"

Text='<%# Bind("Surname") %>' />

</FooterTemplate>

<ItemStyle Width="300px"></ItemStyle>

</asp:TemplateField>

<asp:TemplateField HeaderText="Год рождения"

ItemStyle-Width="300">

<ItemTemplate>

<asp:Label id="myLabel3" runat="server"

Text='<%# Bind("God")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox3" runat="server" Width="300"

Text='<%# Bind("God") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox3" runat="server"

Width="300" Text='<%# Bind("God") %>' />

</FooterTemplate>

<ItemStyle Width="300px"></ItemStyle>

</asp:TemplateField>

<asp:TemplateField HeaderText="Команды" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">

<ItemTemplate>

<asp:ImageButton ID="ibEdit" runat="server"

CommandName="Edit" Text="Edit"

ImageUrl="~/img/edit_32.png" />

<asp:ImageButton ID="ibDelete" runat="server"

CommandName="Delete" Text="Delete"

ImageUrl="~/img/delete_32.png" />

<asp:ImageButton ID="lbSelect" runat="server" CommandName="Select" ImageUrl="~/img/information_32.png"

CommandArgument='<%# Container.DataItemIndex %>' />

</ItemTemplate>

<EditItemTemplate>

<asp:ImageButton ID="ibUpdate" runat="server" CommandName="Update" Text="Update"

ImageUrl="~/img/5.png" />

<asp:ImageButton ID="ibCancel" runat="server" CommandName="Cancel" Text="Cancel"

ImageUrl="~/img/7.png" />

</EditItemTemplate>

<FooterTemplate>

<asp:ImageButton ID="ibInsert" runat="server"

CommandName="Insert" OnClick="ibInsert_Click"

ImageUrl="~/img/add_32.png" />

</FooterTemplate>

<FooterStyle HorizontalAlign="Center"></FooterStyle>

<ItemStyle HorizontalAlign="Center"></ItemStyle>

</asp:TemplateField>

</Columns>

<EmptyDataTemplate>

<table border="1" cellpadding="0" cellspacing="0">

<tr>

<td width="200" align="center">Имя продавца</td>

<td width="300" align="center">Фамилия продавца</td>

<td width="300" align="center">Год рождения</td>

<td>Команды</td>

</tr>

<tr>

<td>

<asp:TextBox ID="emptyGroupNameTextBox" runat="server"

Width="200"/>

</td>

<td>

<asp:TextBox ID="emptyCuratorNameTextBox" runat="server"

Width="300"/>

</td>

<td>

<asp:TextBox ID="emptyHeadmanNameTextBox" runat="server"

Width="300"/>

</td>

<td align="center">

<asp:ImageButton ID="emptyImageButton" runat="server"

ImageUrl="~/img/add.png"

OnClick="ibInsertInEmpty_Click"/>

</td>

</tr>

</table>

</EmptyDataTemplate>

<PagerStyle HorizontalAlign ="Center" />

</asp:GridView>

</td>

</tr>

</table>

</asp:Content>

Текст файла Default.aspx.cs

using System;

using System.Collections;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using lab5.dao;

using lab5.domain;

using lab5.mapping;

using NHibernate;

namespace lab5

{

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Page_Prerender(object sender, EventArgs e)

{

ISession session = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(session);

IProdDAO prodDAO = factory.getProdDAO();

List <Prod> prod = prodDAO.GetAll();

GridView1.DataSource = prod;

GridView1.DataBind();

}

//Обработчик нажатия на добавить

protected void ibInsert_Click(object sender, EventArgs e)

{

//Получаем значения полей

string s1 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox1")).Text;

string s2 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox2")).Text;

string s3 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox3")).Text;

//Создаем группу

Prod prod = new Prod();

prod.NameProd = s1;

prod.Surname = s2;

prod.God = s3;

//Создаем DAO группы

ISession session = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(session);

IProdDAO prodDAO = factory.getProdDAO();

prodDAO.SaveOrUpdate(prod);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

//Добавление первой записи в пустой GridView

protected void ibInsertInEmpty_Click(object sender, EventArgs e)

{

var parent = ((Control)sender).Parent;

var groupNameTextBox = parent

.FindControl("emptyGroupNameTextBox") as TextBox;

var curatorNameTextBox = parent

.FindControl("emptyCuratorNameTextBox") as TextBox;

var headmanNameTextBox = parent

.FindControl("emptyHeadmanNameTextBox") as TextBox;

Prod prod = new Prod();

prod.NameProd = groupNameTextBox.Text;

prod.Surname = curatorNameTextBox.Text;

prod.God = headmanNameTextBox.Text;

ISession session = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(session);

IProdDAO prodDAO = factory.getProdDAO();

prodDAO.SaveOrUpdate(prod);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

//Перевести строку в режим редактирования

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

//Получить индекс выделенной строки

int index = e.NewEditIndex;

GridViewRow row = GridView1.Rows[index];

//Получение старых значений полей в строке GridView

string oldNameProd = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

//Сохранение названия группы в коллекции ViewState

ViewState["oldNameProd"] = oldNameProd;

GridView1.EditIndex = index;

GridView1.ShowFooter = false;

GridView1.DataBind();

}

//Отмена редактирования записи

protected void GridView1_RowCancelingEdit(object sender,

GridViewCancelEditEventArgs e)

{

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

//Редактирование строки

protected void GridView1_RowUpdating(object sender,GridViewUpdateEventArgs e)

{

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

string newNameProd =

((TextBox)(row.Cells[0].FindControl("myTextBox1"))).Text;

string newSurname =

((TextBox)(row.Cells[1].FindControl("myTextBox2"))).Text;

string newGod =

((TextBox)(row.Cells[2].FindControl("myTextBox3"))).Text;

string oldNameProd= (string)ViewState["oldNameProd"];

//Создание DAO группы

ISession hbmSession = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(hbmSession);

IProdDAO prodDAO = factory.getProdDAO();

//Получение группы по имени

Prod prod = prodDAO.getProdByName(oldNameProd);

prod.NameProd = newNameProd;

prod.Surname = newSurname;

prod.God = newGod;

prodDAO.SaveOrUpdate(prod);

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

//Удаление записи

protected void GridView1_RowDeleting(object sender,

GridViewDeleteEventArgs e)

{

//Получить индекс выделенной строки

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

//Получить название группы

string key = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

//Создание DAO группы

ISession hbmSession = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(hbmSession);

IProdDAO prodDAO = factory.getProdDAO();

//Получение группы по имени

Prod prod = prodDAO.getProdByName(key);

//Удаление группы

if (prod != null)

{

prodDAO.Delete(prod);

}

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

protected void GridView1_RowCommand(object sender,

GridViewCommandEventArgs e)

{

if (e.CommandName == "Select")

{

int index = Convert.ToInt32(e.CommandArgument);

GridViewRow row = GridView1.Rows[index];

string prodName = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

Session["keyProdName"] = prodName;

Response.Redirect("TovarForm.aspx");

}

}

//Изменение номера текущей страницы

protected void GridView1_PageIndexChanging(object sender,

GridViewPageEventArgs e)

{

GridView1.PageIndex = e.NewPageIndex;

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

}

}

Текст файла TovarForm.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TovarForm.aspx.cs" Inherits="lab5.TovarForm" MasterPageFile="~/Supermarket.Master" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

<table style="width:100%;">

<tr align="center">

<td>

<asp:Label ID="Label4" runat="server"

Text="Список товаров проданных продавцом"

Font-Bold="True" Font-Size="20pt" ForeColor="Maroon">

</asp:Label>

<asp:Label ID="Label5" runat="server" Font-Bold="True"

Font-Size="20pt" ForeColor="Maroon">

</asp:Label>

</td>

</tr>

<tr>

<td>

<asp:GridView ID="GridView1" runat="server"

AutoGenerateColumns="false"

ShowFooter="true" ShowHeader="true"

AllowPaging="true" PageSize="10"

Font-Size="14pt" HorizontalAlign="Center"

onrowcancelingedit="GridView1_RowCancelingEdit"

onrowdeleting="GridView1_RowDeleting"

onrowediting="GridView1_RowEditing"

onrowupdating="GridView1_RowUpdating"

onpageindexchanging="GridView1_PageIndexChanging">

<Columns>

<asp:TemplateField HeaderText="Наименование"

ItemStyle-Width="250">

<ItemTemplate>

<asp:Label id="myLabel1" runat="server"

Text='<%# Bind("Name")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox1" runat="server" Width="250"

Text='<%# Bind("Name") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox1" runat="server"

Width="250" Text='<%# Bind("Name") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="Цена"

ItemStyle-Width="250">

<ItemTemplate>

<asp:Label id="myLabel2" runat="server"

Text='<%# Bind("Price")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox2" runat="server" Width="250"

Text='<%# Bind("Price") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox2" runat="server"

Width="250" Text='<%# Bind("Price") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="Вес" ItemStyle-Width="50">

<ItemTemplate>

<asp:Label id="myLabel3" runat="server"

Text='<%# Bind("Ves")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox3" runat="server" Width="50"

Text='<%# Bind("Ves") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox3" runat="server"

Width="50" Text='<%# Bind("Ves") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="Команды"

ItemStyle-HorizontalAlign="Center"

FooterStyle-HorizontalAlign="Center">

<ItemTemplate>

<asp:ImageButton ID="ibEdit" runat="server"

CommandName="Edit" Text="Edit" ImageUrl="~/img/applications.png"/>

<asp:ImageButton ID="ibDelete" runat="server"

CommandName="Delete" Text="Delete"

ImageUrl="~/img/delete.png" />

</ItemTemplate>

<EditItemTemplate>

<asp:ImageButton ID="ibUpdate" runat="server"

CommandName="Update" Text="Update"

ImageUrl="~/img/5.png" />

<asp:ImageButton ID="ibCancel" runat="server"

CommandName="Cancel" Text="Cancel"

ImageUrl="~/img/7.png" />

</EditItemTemplate>

<FooterTemplate>

<asp:ImageButton ID="ibInsert" runat="server"

CommandName="Insert" OnClick="ibInsert_Click"

ImageUrl="~/img/add.png" />

</FooterTemplate>

</asp:TemplateField>

</Columns>

<EmptyDataTemplate>

<table border="1" cellpadding="0" cellspacing="0">

<tr>

<td width="250" align="center">

Наименование

</td>

<td width="250" align="center">

Цена

</td>

<td width="50" align="center">

Вес

</td>

<td>

Команды

</td>

</tr>

<tr>

<td>

<asp:TextBox ID="emptyFirstNameTextBox" runat="server"

Width="250"/>

</td>

<td>

<asp:TextBox ID="emptyLastNameTextBox" runat="server"

Width="250"/>

</td>

<td>

<asp:TextBox ID="emptySexTextBox" runat="server"

Width="50"/>

</td>

<td align="center">

<asp:ImageButton ID="emptyImageButton" runat="server"

ImageUrl="~/img/add.png"

OnClick="ibInsertInEmpty_Click"/>

</td>

</tr>

</table>

</EmptyDataTemplate>

<PagerStyle HorizontalAlign ="Center" />

</asp:GridView>

</td>

</tr>

</table>

</asp:Content>

Текст файла TovarForm.aspx.cs

using System;

using System.Collections;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using lab5.dao;

using lab5.domain;

using lab5.mapping;

using NHibernate;

namespace lab5

{

public partial class TovarForm : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Page_Prerender(object sender, EventArgs e)

{

string keyProd = (string)Session["keyProdName"];

Label5.Text = keyProd;

ISession session = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(session);

IProdDAO prodDAO = factory.getProdDAO();

IList <Tovars> tovars = prodDAO.getAllTovarsOfProd(keyProd);

GridView1.DataSource = tovars;

GridView1.DataBind();

}

protected void ibInsert_Click(object sender, EventArgs e)

{

string keyProd = (string)Session["keyProdName"];

//Получаем значения полей

string s1 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox1")).Text;

string s2 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox2")).Text;

string s3 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox3")).Text;

//Создаем сессию

ISession session = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(session);

IProdDAO prodDAO = factory.getProdDAO();

Prod prod = prodDAO.getProdByName(keyProd);

ITovarsDao tovarsDAO = factory.getTovarsDAO();

//Создаем объект студента и заполняем его поля

Tovars tovars = new Tovars();

tovars.Name = s1;

tovars.Price = s2;

tovars.Ves = s3;

tovars.Prod = prod;

prod.TovarsList.Add(tovars);

//Сохраняем объект студента

tovarsDAO.SaveOrUpdate(tovars);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

protected void ibInsertInEmpty_Click(object sender, EventArgs e)

{

string keyProd = (string)Session["keyGroupName"];

//Получаем значения полей ввода

var parent = ((Control)sender).Parent;

var nameTextBox = parent

.FindControl("emptyFirstNameTextBox") as TextBox;

var priceTextBox = parent

.FindControl("emptyLastNameTextBox") as TextBox;

var vesTextBox = parent.FindControl("emptySexTextBox") as TextBox;

//Создаем сессию

ISession session = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(session);

IProdDAO prodDAO = factory.getProdDAO();

Prod prod = prodDAO.getProdByName(keyProd);

ITovarsDao tovarsDAO = factory.getTovarsDAO();

//Создаем объект студента и заполняем его поля

Tovars tovars = new Tovars();

tovars.Name = nameTextBox.Text;

tovars.Price = priceTextBox.Text;

tovars.Ves = vesTextBox.Text;

tovars.Prod = prod;

prod.TovarsList.Add(tovars);

//Сохраняем объект студента

tovarsDAO.SaveOrUpdate(tovars);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

//Удаление строки

protected void GridView1_RowDeleting(object sender,

GridViewDeleteEventArgs e)

{

string keyProd = (string)Session["keyProdName"];

//Получить индекс выделенной строки

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

//Получить имя студента

string name = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

ISession hbmSession = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(hbmSession);

ITovarsDao tovarsDAO = factory.getTovarsDAO();

Tovars tovars =

tovarsDAO.getTovarByProdName(keyProd, name);

//Удаление студента

if (tovars != null)

{

tovars.Prod.TovarsList.Remove(tovars);

tovarsDAO.Delete(tovars);

}

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

//Перевод строки в режим редактирования

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

//Получить индекс выделенной строки

int index = e.NewEditIndex;

GridViewRow row = GridView1.Rows[index];

//Получение старых значений полей в строке GridView

string oldName = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

//Сохранение названия группы в коллекции ViewState

ViewState["oldName"] = oldName;

GridView1.EditIndex = index;

GridView1.ShowFooter = false;

GridView1.DataBind();

}

//Отмена редактирования строки

protected void GridView1_RowCancelingEdit(object sender,

GridViewCancelEditEventArgs e)

{

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

//Редактирование строки

protected void GridView1_RowUpdating(object sender,

GridViewUpdateEventArgs e)

{

string keyProd = (string)Session["keyProdName"];

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

string newName =

((TextBox)(row.Cells[0].FindControl("myTextBox1"))).Text;

string newPrice =

((TextBox)(row.Cells[1].FindControl("myTextBox2"))).Text;

string newVes = ((TextBox)(row.Cells[2].FindControl("myTextBox3"))).Text;

string oldName = (string)ViewState["oldName"];

//Создание DAO группы

ISession hbmSession = (ISession)Session["hbmsession"];

DaoFactory factory = new NHibernateDAOFactory(hbmSession);

ITovarsDao tovarsDAO = factory.getTovarsDAO();

//Получение группы по имени

Tovars tovars =

tovarsDAO.getTovarByProdName(keyProd, oldName);

tovars.Name = newName;

tovars.Price = newPrice;

tovars.Ves = newVes;

tovarsDAO.SaveOrUpdate(tovars);

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

protected void GridView1_PageIndexChanging(object sender,

GridViewPageEventArgs e)

{

GridView1.PageIndex = e.NewPageIndex;

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

}

}

Соседние файлы в папке doc100