Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: Shalimar
Дата сообщения: 14.06.2010 12:43
Задача - по клику на кнопке создать сколько угодно таблиц (число - произвольное), ввести туда данные. И при нажатии на другую кнопку сохранить данные из каждой таблицы в базе данных.

Таблица создается динамически, в коде (HtmlTable SchoolTimeTable = new HtmlTable()) и сохраняется на PlaceHolder (PlaceHolderLessonTimes.Controls.Add(SchoolTimeTable))

Проблема в том, что при попытке создания второй таблицы - теряем первую таблицу. При попытке сохранения первой таблицы все данные из нее теряются.

Опыт работы с динамическими таблицами вроде есть. Но до сего момента таблицы хотя бы присутствовали на странице (я имею в виду aspx), и просто заполнялись динамически. При перезагрузке страницы (нажатии на кнопку или сохранения или создания новой страницы), PlaceHolder конечно же пустой.

Как можно сохранить данные?

Заранее спасибо.
Автор: Omicron_Persey_8
Дата сообщения: 15.06.2010 09:54
v1rtyaluk
Я, конечно, понимаю, что ты уже со всем разобрался, но все равно напишу

Цитата:
как сделать так чтоб, допустим если на форме есть richTextBox, то при изменении размера окна мышкой контрол на автомате делал тоже??а то кинул на форму ричТекстБокс - форма растягивается,а сам контрол мертво стоит в старом размере

Нужно играться со свойствами Anchor, Dock и элементами управления с вкладки Containers (если у тебя студия). По умолчанию для всех контролов свойство Anchor устанавливается в Left, Top поэтому при изменении размеров формы положение контрола относительно верхней и левой границ формы не меняется. Выстави в Top, Bottom, Left, Right и размер контрола будет меняться вместе с формой.

Цитата:
как организовать функцию "Переход"(переход к определенной строке в тексте) как в стандартном Блокноте???

При помощи RichTextBox.GetFirstCharIndexFromLine(int lineNumber) узнаешь порядковый номер символа, с которого начинается нужная тебе строка. Просто переместить курсор в нужную позицию по-моему нельзя, зато можно выделить последовательность из 0 или 1 символа.

V0lt

Цитата:
Нужно через stdin получать данные, через каждые 1 МБ данных вставлять свои 100 байт и отправлять их через stdout другому процессу.
Или если проще считать из stdin 1 МБ и отправить на stdout сначала свои 100 байт, а затем полученный 1 МБ. Итак по циклу пока stdin не опустеет.

У класса System.Console есть свойтво In типа TextReader с кучей методов Read, ReadBlock, ReadLine, ReadToEnd. И есть свойство Out с кучей перегрузок метода Write.

nikanomo
Ну здесь два варианта: либо здесь

Цитата:
var Cart = base.Master.FindControl("litCart") as Literal;
твой код контрол не нашел или не смог преобразовать его к типу Literal (что наиболее вероятно), либо ShoppingCart = null. Смотри в отладчике.


Автор: v1rtyaluk
Дата сообщения: 15.06.2010 13:23
Omicron_Persey_8
о_О спасибо

и вопрос общего характера:
реально-ли нарисовать в WPF анимацию сгорающего листа т.е. после клика по екзе-файлу сначала рендерится анимашка горящего листика бумаги, а после "сгорания" остается рабочая форма приложения.
осуществимо такое???
Автор: V0lt
Дата сообщения: 15.06.2010 16:18
Omicron_Persey_8

Цитата:
У класса System.Console есть свойтво In типа TextReader с кучей методов Read, ReadBlock, ReadLine, ReadToEnd.

Мне произвольные байты нужно принимать-отправлять, а тут я понимаю только char. На C++ это как-то через pipe делается.
Автор: Omicron_Persey_8
Дата сообщения: 15.06.2010 20:22
v1rtyaluk
Осуществимо. Уже в этой теме я с кем обсуждал рисование анимированных gif'ов на WPF форме. Вот только с кем и когда - не помню. Можно еще видео проигрывать. А можно и в реальном времени рендерить. Так что выбирай, что сможешь реализовать.

V0lt
Ты определись, тебе нужно произвольные байты отправлять или чего-то с StdIn читать? потому как консоль текстовая и произвольный поток байт слать в нее несколько неосмотрительно, может попасться что-нибудь управляющее типа Break или Ctrl+C. А надстройка над pipes и в .NET есть.
Автор: Archi358
Дата сообщения: 15.06.2010 20:27
Уважаемые МегамОзги!
Хотелось бы узнать у столь просвещенной в программировании публики, реально ли здесь найти человека, который бы за безграничную признательность с моей стороны набросал бы программку для тестирования (имеется ввиду экзаменационное тестирование). Программка должна выхватывать из эксельевского файла вопросы и варианты ответов, иметь поле для ввода ответа, отвечать "правильно" "неправильно" и в случае неправильного ответа показывать правильный... ещё было бы совсем неплохо выводить вопросы по 100 штук за тест и в хаотичном порядке.
Если вдруг появятся желающие утвердиться в своих навыках, файлик с тестами могу сбросить в ЛС.

P.S. Если данным постом я нарушаю правила форума, прошу сильно не пинать.
Автор: Omicron_Persey_8
Дата сообщения: 15.06.2010 20:32
Archi358
Вот твоя тема.

v1rtyaluk
Вот, нашел
Автор: V0lt
Дата сообщения: 16.06.2010 17:42
Omicron_Persey_8

Цитата:
Ты определись, тебе нужно произвольные байты отправлять или чего-то с StdIn читать? потому как консоль текстовая и произвольный поток байт слать в нее несколько неосмотрительно,

нужно RAW-видеопоток принимать, передавать его уже в формате YUV4MPEG.
проги написанные на C/C++ делают подобные вещи через stdin и stdout.


Цитата:
А надстройка над pipes и в .NET есть.

в примере написано:

Код: PipeStream pipeClient = new AnonymousPipeClientStream(PipeDirection.In, args[0])
Автор: v1rtyaluk
Дата сообщения: 16.06.2010 20:40
Omicron_Persey_8
спасибо за ссылку

я сейчас занялся чтением книги "WPF для профессионалов в примерах".
Хочу научится рендерить высококачественные анимации так-как использовать видео и/или анимацию неудобно и неприемлемо.Во-первых, анимация имеет, всего-навсего, очень мало цветов(256).Во-вторых, видео нормального качества -много занимает, а экзотические форматы вообще требуют кодеков.Во-третьих, на разных мониторах та анимашка будет выглядеть по разному, а зарендеряна, знаю 100%, будет оптимизироваться WPF под любое разрешение экрана.
ааа кстати, забыл сказать зачем меня интересует этот вопрос.Я не делаю проигрыватель, а хочу сделать что-то, типа, сплэш-скрина, а возможно и целую библиотеку сплэшов или, даже, контрол сплэшов для вижуал студио.
Автор: Jarikk
Дата сообщения: 16.06.2010 22:47
Подскажите, такой вопрос. Объясню на простом примере: есть форма, 2 TextBax-a, 1 Button. [more=Код приложения.]
Код: public partial class Form1 : Form, INotifyPropertyChanged
    {
        public string Text1 { get { return "a"; } }
        public string Text2 { get { return "b"; } }

        public Form1()
        {
            InitializeComponent();
            textBox1.DataBindings.Add("Text", this, "Text1", true, DataSourceUpdateMode.OnPropertyChanged);
            textBox2.DataBindings.Add("Text", this, "Text2", true, DataSourceUpdateMode.OnPropertyChanged);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ChangedProperty(null);
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void ChangedProperty(string property)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(property));
            }
        }
    }
Автор: Omicron_Persey_8
Дата сообщения: 16.06.2010 23:33
V0lt

Цитата:
только я не вкурил, что надо написать вместо args[0], чтобы прога начала качать данные из stdin.

А чего хочешь. Там используется перегрузка конструктора, который принимает направление канала и строковое представление дескриптора канала. В примере это тупо имя приложения. По этому дескриптору клиент и сервер друг друга ищут. См. пример по AnonymousPipeServerStream
Автор: v1rtyaluk
Дата сообщения: 17.06.2010 19:00
Ребятки, помогите!

при щелчке по кнопке запускаю форму:

Код:
Form frm=new Form2();
frm.ShowDialog();
Автор: Omicron_Persey_8
Дата сообщения: 17.06.2010 19:24
v1rtyaluk

Цитата:
на запускаемой форме есть label1.Как т.е. что нужно писать в код хэндла кнопки чтоб задать лэйбелу(и даже Form Caption) свой текст

В файле Form1.Designer.cs меняешь область видимости своего label1 на internal или public и пишешь:

Код: Form frm=new Form2();
frm.label1.Text = "Text text";
frm.Text = "More text";
frm.ShowDialog();
Автор: klimusu
Дата сообщения: 19.06.2010 10:32
Выручайте друзья.

на стриничке asp.net есть textbox и button

в page_load я сказал:
[no]
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = "this is text";
}
[/no]

в обработчике кнопки:
[no]
protected void Button1_Click(object sender, EventArgs e)
{
string test123 = TextBox1.Text;
}
[/no]

Выполняю действия:
открываю страницу, в текстбоксе значение "this is text"
Меняю его руками и нажимаю на button.

почему в переменную test123 попадает значение "this is text", а не то что я указал в текстбоксе руками?
Автор: Garrett
Дата сообщения: 19.06.2010 14:23
klimusu, а если так
private void Page_Load(object sender, System.EventArgs e)
{
if ( this.IsPostBack == false )
{
TextBox1.Text = "this is text";
}
}
Автор: klimusu
Дата сообщения: 19.06.2010 14:36
Garrett
спасибо. пнули в нужном направлении!
Автор: nikanomo
Дата сообщения: 19.06.2010 16:55
Здравствуйте!

А вот как данные из ArrayList сделать DataSource-ом для DataList?

Код: if(!this.IsPostBack)
{
if(Session["cart"] != null)
{
ArrayList ShoppingCart = (ArrayList)Session["cart"];
DataList dList = (DataList)this.FindControl("DataList1");
dList.DataSource = ShoppingCart;
}
else
{
Response.Redirect("butik.aspx");
}
}
Автор: v1rtyaluk
Дата сообщения: 20.06.2010 00:41
Omicron_Persey_8
заголовок окна передается, а текст в лэйбл нет, хотя ставил и паблик и интернал
для разъяснения:
пишу свою библиотеку, что-то типа стандартной функции MessageBox

Код:
...
namespace Virtyaluk
{
public class Message
{
public void ErrorMessage(string text, string caption)
{
Form er = new Error();
er.Text = caption;
er.ShowDialog();
}
}
Автор: Garrett
Дата сообщения: 20.06.2010 07:19
v1rtyaluk
Не уверен, но вроде для такого вызова ты должен сделать функцию статичной.
Автор: Omicron_Persey_8
Дата сообщения: 20.06.2010 08:08
v1rtyaluk

Цитата:
заголовок окна передается, а текст в лэйбл нет, хотя ставил и паблик и интернал

А как-нибудь при этом ругатся или просто не реагирует?


Цитата:
а по-простому ErrorMessage("text", "caption");

По простому нельзя, в C# нет глобальных функций, только методы классов. Сделай как советует Garrett как статический метод, будет как MessageBox.Show();




Добавлено:

Цитата:
В файле Form1.Designer.cs меняешь область видимости своего label1 на internal или public и пишешь:


Код: Form frm=new Form2();
frm.label1.Text = "Text text";
frm.Text = "More text";
frm.ShowDialog();
Автор: v1rtyaluk
Дата сообщения: 20.06.2010 12:45
Garrett
Omicron_Persey_8

если пишу public static void так вообще фигня выходит

можно пример???
Автор: Garrett
Дата сообщения: 20.06.2010 14:17
v1rtyaluk
    class Alex
    {
     public static void PressAnyKey() {
Console.WriteLine( "\nНажмите клавишу <Enter>..." );
Console.ReadLine();
}
};
и в любом месте кода
Alex.PressAnyKey();

Соответственно у тебя несколько путей
1. Тупо пишешь функцию с 2 параметрами и след.содержания
public void MyMsgBox(string text, string caption) {
{
Virtyaluk.Message messsage = new Virtyaluk.Message();
message.ErrorMessage(text, caption);
}
где-то в тексте
MyMsgBox("aa","bb");

2. Если хочешь использовать функцию во многих проектах - делаешь обертку из класса, а функцию статичной. Вызов аналогично Alex.PressAnyKey(); типа MyHelperClass.MyMsgBox("aa","bb");
Автор: v1rtyaluk
Дата сообщения: 20.06.2010 16:02
Garrett
спасибо, помогло
Автор: nikanomo
Дата сообщения: 22.06.2010 10:14
Omicron_Persey_8

Цитата:
Ну здесь два варианта: либо здесь

Цитата: var Cart = base.Master.FindControl("litCart") as Literal;

твой код контрол не нашел или не смог преобразовать его к типу Literal (что наиболее вероятно), либо ShoppingCart = null. Смотри в отладчике.
Автор: v1rtyaluk
Дата сообщения: 24.06.2010 01:13
как по-простому в WPF элементу Image задать свой локальный рисунок как в pictureBox???
Автор: Omicron_Persey_8
Дата сообщения: 24.06.2010 18:22
Куда уж проще:

Код: <Image Source="C:\My Documents\Мои рисунки\904304344.jpg" />
Автор: IronArt
Дата сообщения: 28.06.2010 23:51
проблема была решена
проблема: слишком большое значение передаваемого параметра.


Автор: v1rtyaluk
Дата сообщения: 29.06.2010 12:17
Omicron_Persey_8
у меня 18 радиобаттонов...
кароч, сделал все это через case
Автор: Omicron_Persey_8
Дата сообщения: 30.06.2010 09:24
v1rtyaluk

Цитата:
у меня 18 радиобаттонов...
кароч, сделал все это через case

Я что-то смысл не улавливаю... Как это с Image связано?
Автор: Qwerty93
Дата сообщения: 30.06.2010 11:30
Приветствую всех пользователей данного ресурса!
Описание проблемы:
Я делаю проект по одному предмету и мне потребовалось создать Это . Но я никогда не имел дело с данной программой, поэтому прошу помощи у гуру в этом деле!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.