powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataBoundItem не возвращает объект, втф ?
8 сообщений из 8, страница 1 из 1
DataBoundItem не возвращает объект, втф ?
    #38346657
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто подскажет почему в выделенной строке вылетает ошибка ?
Код: 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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Common;

namespace Agroteh
{
    public partial class EmplForm : Form
    {
        string strConn;
        SqlConnection cn;
        SqlDataAdapter da;
        public DataSet ds;
        BindingSource bsDetail;
        BindingSource bsMasterProfession;
        BindingSource bsMasterUnit;
        BindingSource bsMasterRank;

        public EmplForm(string str)
        {
            InitializeComponent();
            this.strConn = str;
        }

        private void exit_btn_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void EmplForm_Load(object sender, EventArgs e)
        {
            cn = new SqlConnection(strConn);
            da = new SqlDataAdapter("select * from profession; select * from unit; select * from [rank]; select * from employees", cn);
            da.TableMappings.Add("Table", "Profession");
            da.TableMappings.Add("Table1", "Unit");
            da.TableMappings.Add("Table2", "Rank");
            DataTableMapping dtm = da.TableMappings.Add("Table3", "Employees");
            dtm.ColumnMappings.Add("id", "№");
            dtm.ColumnMappings.Add("fio","ФИО");
            dtm.ColumnMappings.Add("datein", "Дата_пр");
            dtm.ColumnMappings.Add("dateout", "Дата_ув");
            dtm.ColumnMappings.Add("bithday", "Рождение");
            dtm.ColumnMappings.Add("prof_id", "Проффесия");
            dtm.ColumnMappings.Add("unit_id", "Отдел");
            dtm.ColumnMappings.Add("rank_id", "Разряд");
            dtm.ColumnMappings.Add("ijd", "Иждевенцы");
            dtm.ColumnMappings.Add("salary", "Оклад");
            dtm.ColumnMappings.Add("ways_pay", "Способ");
            ds = new DataSet();
            da.Fill(ds);
            // DataRelation dr = new DataRelation("ProfessionEmployees", ds.Tables["Employees"].Columns["Проффесия"], ds.Tables["Profession"].Columns["id"], false);
            // ds.Relations.Add(dr);
            // dr = new DataRelation("UnitEmployees", ds.Tables["Employees"].Columns["Отдел"], ds.Tables["Unit"].Columns["id"], false);
            // ds.Relations.Add(dr);
            // dr = new DataRelation("RankEmployees", ds.Tables["Employees"].Columns["Разряд"], ds.Tables["Rank"].Columns["id"], false);
            // ds.Relations.Add(dr);
            bsDetail = new BindingSource(ds, "Employees");
            // bsMasterProfession = new BindingSource(bsDetail, "ProfessionEmployees");
            // bsMasterUnit = new BindingSource(bsDetail, "UnitEmployees");
            // bsMasterRank = new BindingSource(bsDetail, "RankEmployees");
            DataColumn[] keys = new DataColumn[1];
            keys[0] = ds.Tables["Profession"].Columns["id"];
            ds.Tables["Profession"].PrimaryKey = keys;
            dataGridView1.VirtualMode = true;
            dataGridView1.DataSource = bsDetail;
            for (int i = 10; i > 1; i--)
                dataGridView1.Columns.RemoveAt(i);
            dataGridView1.Columns[0].Width = 40;
            dataGridView1.Columns[1].Width = 100;
            DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
            column.Name = "pro";
            column.HeaderText = "Проффесия";
            dataGridView1.Columns.Add(column);
            dataGridView1.CellValueNeeded +=new DataGridViewCellValueEventHandler(dataGridView1_CellValueNeeded);
            dataGridView1.CellValuePushed+=new DataGridViewCellValueEventHandler(dataGridView1_CellValuePushed);
        }

        private void dataGridView1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            if (dataGridView1.Columns[e.ColumnIndex].Name == "pro")
            {
                DataRow dr_temp = dataGridView1.Rows[e.RowIndex].DataBoundItem as DataRow;
                [color=red]DataRow dr_detail = ds.Tables["Profession"].Rows.Find(dr_temp["Проффесия"].ToString());[/color]
                e.Value = dr_detail["name"].ToString();
            }
        }

        private void dataGridView1_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
        {
            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.Value;
        }
    }
}
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346658
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А может быть потому что установлен режим virtualmode = true ?
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346659
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

По настоянию ФСБ NET фреймворк сдал ЕГЭ по русскому, и потому такие весчи как "проффесия", "иждевенец" и т.д. не пропускает.
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346671
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, сарказм ?
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346688
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346805
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, вафля тебе смешно ?
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346814
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, кроме этой "очень смешной шутки" еще есть что добавит ?
...
Рейтинг: 0 / 0
DataBoundItem не возвращает объект, втф ?
    #38346894
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кому интересно надо было не DataRow, a DataRowView
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataBoundItem не возвращает объект, втф ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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