Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программное перейти на следующую строку в DataSet 
V
    Опции темы
BASSoft
Дата 6.12.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 11.7.2007
Где: г.Агов. Ростовска я область

Репутация: нет
Всего: нет



Помогите! Очень сегодня нужно.

Имеется DataSet и связанный с ним Label. Мне нужно при нажатии на кнопку button, перейти на следующую строку в таблице (Чтобы Label изменился)

 
PM MAIL ICQ   Вверх
unicuum
Дата 7.12.2007, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



DataSet - набор таблиц, так что ты ерунду говоришь. Лучше почитай предыдущий топик Имеется вопрос)) [?] , который на данный момент стоит как раз под твоим, и по моим наблюдениям он был первым в списке, когда ты создал дубликат.


--------------------
user posted image
обычный день на винграде
PM   Вверх
BASSoft
Дата 7.12.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 11.7.2007
Где: г.Агов. Ростовска я область

Репутация: нет
Всего: нет



Да, действительно что то похожее. Но я все равно не понял как это работает. Бейсик я не знаю. Пишу на C#

Мне надо, чтобы по нажатию кнопки сменился Лабел (на следующую строку таблицы из той самой DataSet)

Добавлено через 1 минуту и 36 секунд
и  this.BindingContext  не хочет принимать параметры
PM MAIL ICQ   Вверх
unicuum
Дата 7.12.2007, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(BASSoft @  7.12.2007,  00:31 Найти цитируемый пост)
и  this.BindingContext  не хочет принимать параметры 

 smile Конечно не хочет, потому что ты на класс ссылаешься, а надо ссылаться на экземпляр класса, так же именуемый объектом.

Цитата(BASSoft @  7.12.2007,  00:31 Найти цитируемый пост)
Да, действительно что то похожее. Но я все равно не понял как это работает. Бейсик я не знаю. Пишу на C#

Там же ссылка была дана прямо на MSDN или потом выяснится, что ты пишешь на 2003 студии  smile 

Ну вот код из MSDN 2005 на С#
Код

private CurrencyManager myCurrencyManager;
 
 private void BindControl(DataTable myTable){
    // Bind a TextBox control to a DataTable column in a DataSet.
    textBox1.DataBindings.Add("Text", myTable, "CompanyName");
    // Specify the CurrencyManager for the DataTable.
    myCurrencyManager = (CurrencyManager)this.BindingContext[myTable];
    // Set the initial Position of the control.
    myCurrencyManager.Position = 0;
 }
 
 private void MoveNext(CurrencyManager myCurrencyManager){
    if (myCurrencyManager.Position == myCurrencyManager.Count - 1){
       MessageBox.Show("You're at end of the records");
    }
    else{
      myCurrencyManager.Position += 1;
    }
 }
 
 private void MoveFirst(CurrencyManager myCurrencyManager){
    myCurrencyManager.Position = 0;
 }
 
 private void MovePrevious(CurrencyManager myCurrencyManager ){
    if(myCurrencyManager.Position == 0) {
       MessageBox.Show("You're at the beginning of the records.");
    }   
    else{
       myCurrencyManager.Position -= 1;
    }
 }
 
 private void MoveLast(CurrencyManager myCurrencyManager){
    myCurrencyManager.Position = myCurrencyManager.Count - 1;
 }

Разницы то, MSDN в большинстве случаев даёт код сразу на всех языках, или по крайне мере на VB.NET и C#. В общем я сделал простейший пример какой тебе нужен, смотри прикреплённый файл. Это VS 2005, в 2003 надо было бы юзать CurrencyManager.

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  ChangePositionCSharp.7z 17,14 Kb


--------------------
user posted image
обычный день на винграде
PM   Вверх
BASSoft
Дата 7.12.2007, 03:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 11.7.2007
Где: г.Агов. Ростовска я область

Репутация: нет
Всего: нет



Спасибо. У меня вот так получилось: НадписьВопрос.Text = dsВопросы.Tables["Вопросы"].Rows[i]["Вопрос"].ToString();
Без DataBindings, однако работает
PM MAIL ICQ   Вверх
unicuum
  Дата 7.12.2007, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(BASSoft @  7.12.2007,  03:36 Найти цитируемый пост)
Спасибо. У меня вот так получилось: НадписьВопрос.Text = dsВопросы.Tables["Вопросы"].Rows[i]["Вопрос"].ToString();
Без DataBindings, однако работает 

В моём примере решение самое очевидное и я думаю элегантное.
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ChangePositionCSharp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            tblOrdersBindingSource.Position--;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            tblOrdersBindingSource.Position++;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'db1DataSet.tblOrders' table. You can move, or remove it, as needed.
            this.tblOrdersTableAdapter.Fill(this.db1DataSet.tblOrders);

        }
    }
}

Сколько бы полей не ввёл, изменять этот код не понадобится, а в твоём случае его придётся дописывать. Хотя у тебя и нет обновлений, об этом тоже стоит подумать применяя такой стиль программирования, точнее подумать о том, что это станет проблемой в будущем. Кстати раз у тебя строгий контроль типов, то можно написать короче.

В общем, работает и ладно, хотя я из таких людей которым этого не достаточно.


--------------------
user posted image
обычный день на винграде
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.