Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Задалнение не привязанного столбца dataGridView / 9 сообщений из 9, страница 1 из 1
29.11.2013, 14:23
    #38483331
Tanya_0306
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
В гриде несколько столбцов. Последний - не привязанный к данным. Заполняется значением из других таблиц (типа дополнительных данных).

Форма дочерняя, открывается по нажатию кнопки. Но данные в этот самый не привязанный столбец не заносятся. А вот как только перемещаю курсор на другую строку - Столбцы заполняются нужными данными.
Ставила точку остановки - не пойму почему не отображаются данные ....

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
   private void GridView_Basises_RowValidated(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                this.basisesTableAdapter.Update(this.dataSet_Export.Basises);
                func_get_metrics();
            }
            catch (SystemException ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
        private void func_get_metrics()
        {
            SqlConnection myConn = new SqlConnection(Form_Export.connect);
            myConn.Open();
            SqlDataReader myreaderSQL;
            SqlCommand myCommand = myConn.CreateCommand();
            string myCommandText;
            for (int row = 0; row < GridView_Basises.RowCount; row++)
            {
                myCommandText = @"select a.Parameter+'='+replace(Str(a.value),' ','')+' '+b.Measurement metric from metrics a,Params b where 
                            a.Parameter=b.Id and a.basis='" + GridView_Basises["id", row].Value.ToString() + @"'";
                myCommand = new SqlCommand(myCommandText, myConn);
                string pole_str = "";
                myreaderSQL = myCommand.ExecuteReader();
                while (myreaderSQL.Read()) // 
                {
                    pole_str += Convert.ToString(myreaderSQL["metric"]) + ",";
                }
                if (pole_str.Length > 0)
                {
                    pole_str = pole_str.Substring(0, pole_str.Length - 1);
                    GridView_Basises["Metrics", row].Value = pole_str;
                }
                else
                {
                    GridView_Basises["Metrics", row].Value = "";
                }
                myreaderSQL.Close();
            }
                

            myConn.Close();
 
        }

        private void GridView_Basises_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.RowIndex > -1 & e.ColumnIndex > -1)
                    textBox_Metrics.Text = GridView_Basises["Metrics", e.RowIndex].Value.ToString();
            }
            catch
            { }
        }
...
Рейтинг: 0 / 0
29.11.2013, 14:28
    #38483348
Syrex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
А когда сработает событие RowValidate?
...
Рейтинг: 0 / 0
29.11.2013, 14:54
    #38483427
Sergey S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Ну так ты ведь не перемещалась по строкам, вот событие и не срабатывало.
Мне вообще не сильно нравится логика работы.... Но дело хазяйское....
...
Рейтинг: 0 / 0
29.11.2013, 15:23
    #38483486
Sergey S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Что-то порядком заливки данных может...
Если грид редактируемый (а он у тебя как я понял такой, с добавлением строк) то событие RowEnter первый раз возникает при создании грида, второй раз при заполнении данными, может на этот момент нечего рассчитывать?
...
Рейтинг: 0 / 0
29.11.2013, 19:59
    #38484050
Tanya_0306
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Sergey S,

а на какое событие рассчитывать ? может идея какая есть. по решению такой задачи - по каждой строке грида надо вытащить несколько строк и в форме в виде комментария.
...
Рейтинг: 0 / 0
29.11.2013, 23:49
    #38484187
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Tanya_0306может идея какая есть. по решению такой задачи - по каждой строке грида надо вытащить несколько строк и в форме в виде комментария.

Сделать через связанные таблицы
...
Рейтинг: 0 / 0
30.11.2013, 21:02
    #38484644
Tanya_0306
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Cat2,

А каким образом через связанные таблицы?
По одной строке в грида может быть несколько строк в другой таблице. а информацию по этим строкам вывожу в виде
"строка 1, строка 2, строка 3..."
...
Рейтинг: 0 / 0
02.12.2013, 13:36
    #38485926
Sergey S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Я обычно использую
Код: c#
1.
bindingSource1_CurrentChanged


Происходит при изменении текущей позиции из списка (хотя я уже писал об этом ранее, наверно не подошло)
...
Рейтинг: 0 / 0
02.12.2013, 16:09
    #38486139
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задалнение не привязанного столбца dataGridView
Tanya_0306А каким образом через связанные таблицы?

http://msdn.microsoft.com/ru-ru/library/57tx3hhe(v=vs.90).aspx
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Задалнение не привязанного столбца dataGridView / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]