Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 03.12.2011, 00:06   #1
-=Tiger=-
 
Регистрация: 02.12.2011
Сообщений: 3
По умолчанию Программа для учета заказов

Добрый день, недавно стал интересоваться языком C# и решил сделать программу для учета заказов по телефону Суши и других продуктов.
Итак, на форме я разместил 2 combobox, в одном я выбираю категорию, суши, ролы, напитки и другие, а в другом появляются товары из этой категории, с этим проблем нет, данные беру из xml файла. Далее у меня размещен на форме DataGridView (столбцы: номер, название количество, цена), Куда я непосредственно хочу вносить список покупок.

Сложность для меня в том, что я не могу сделать так чтобы при добавлении одного и того же продукта он не дублировался а увеличивалось количество.

Мне посоветовали сделать класс в котором все значения будут храниться и в DataGridView прикрутить его через DataSource, честно говоря очень смутно себе представляю эту процедуру но все же немного написал что представляю.
Код:
using System;
using System.Data;

namespace Project1
{
	public class Order
	{
		private DataTable OrderTable;
		
		public Order()
		{
			OrderTable = new DataTable("Order");
			OrderTable.Columns.Add("Number", System.Type.GetType("System.Int32"));
			OrderTable.Columns.Add("Name", System.Type.GetType("System.String"));
			OrderTable.Columns.Add("Count", System.Type.GetType("System.Int32"));
			OrderTable.Columns.Add("Price", System.Type.GetType("System.Int32"));
		}
		
		public void AddItem(string _number, string _name, string _price)
		{
			DataRow[] FoundRows;
			FoundRows = OrderTable.Select(string.Format("Number={0} And Name={1} And Price={2}", _number, _name, _price));
			if (FoundRows.Length > 0)
			{
				FoundRows[0].BeginEdit();
				FoundRows[0].ItemArray[2] = Convert.ToInt32(FoundRows[0].ItemArray[2]) + 1;
				FoundRows[0].EndEdit();
				FoundRows[0].AcceptChanges();
			}
			else
			{
				OrderTable.Rows.Add(_number, _name, 1, _price);
			}
		}
	}
}
-=Tiger=- вне форума Ответить с цитированием
Старый 03.12.2011, 00:07   #2
-=Tiger=-
 
Регистрация: 02.12.2011
Сообщений: 3
По умолчанию

Заранее прошу без резкой критики мои знания только на начальной стадии, раньше программировал на php.
-=Tiger=- вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли такое ?Программа для учета свободного времени водителей Andrei6474 Софт 2 26.08.2011 23:50
Программа для выдачи и учета купонов с разных компьютеров. Связь через интернет. Zalim Фриланс 7 13.07.2011 13:00
Создание базы учета и контроля заказов Geka161185 Microsoft Office Access 3 20.10.2010 22:58