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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не знаю как отобразить на экране DataGrid 
:(
    Опции темы
VisMaster
Дата 17.11.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте 

вопрос как мне отобразить содержимое DataGrid на форме?

делаю вот что:
Код

 public partial class DGWF : Form
    {
        private DataSet TechnologyDS = new DataSet("TechnologyDataSet");

        private SqlCommandBuilder sqlCBEmployees;
        private SqlCommandBuilder sqlCBProssession;
        private SqlCommandBuilder ResultBuilder;

        private SqlDataAdapter empTableAdapter;
        private SqlDataAdapter prossTableAdapter;
        private SqlDataAdapter DtAdapter;

        private DataGrid dataGridViewEmp = new DataGrid();
        private DataGrid dataGridViewPross = new DataGrid();
        private DataGrid dataGridViewAll = new DataGrid();

        private SqlConnection cn =
            new SqlConnection("Initial Catalog=BDataCSO;Data Source=VITALIY\\SQLEXPRESS;Integrated Security=True");

        public DGWF()
        {
            InitializeComponent();
            cn.Open();
            string SQLstring = "SELECT Computer.ID_Servis, Computer.Kontact_Name_Main, HistoryTable.ID_ServisNumber, HistoryTable.DataRemonta,  HistoryTable.Change_Technique_From " +
                              "FROM Computer INNER JOIN " +
                              " HistoryTable ON Computer.ID_Servis = HistoryTable.ID_ServisNumber";

            DataTable TableResult = new DataTable("Result");

            empTableAdapter = new SqlDataAdapter("Select * from Computer", cn);
            prossTableAdapter = new SqlDataAdapter("Select * from HistoryTable", cn);
            DtAdapter = new SqlDataAdapter(SQLstring, cn);

            sqlCBEmployees = new SqlCommandBuilder(empTableAdapter);
            sqlCBProssession = new SqlCommandBuilder(prossTableAdapter);
            ResultBuilder = new SqlCommandBuilder(DtAdapter);


            empTableAdapter.Fill(TechnologyDS, "Computer");
            prossTableAdapter.Fill(TechnologyDS, "HistoryTable");
            DtAdapter.Fill(TechnologyDS, "Result");

            BuildTableRelationship();
 
            dataGridViewEmp.DataSource = TechnologyDS.Tables["Computer"];
            dataGridViewPross.DataSource = TechnologyDS.Tables["HistoryTable"];
            dataGridViewAll.DataSource = TechnologyDS.Tables["Result"];
            cn.Close();
        }
        private void BuildTableRelationship()
        {

            DataRelation dr = new DataRelation("ComputerHistoryTable",
                 TechnologyDS.Tables["Computer"].Columns["ID_Servis"],
                 TechnologyDS.Tables["HistoryTable"].Columns["ID_ServisNumber"]);
            TechnologyDS.Relations.Add(dr);
        } 
    }


Я что то туплю по моему, или чего то недопонимаю... smile 
PM MAIL   Вверх
VisMaster
Дата 17.11.2007, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ну да я тупил сделал так:

Код

((System.ComponentModel.ISupportInitialize)(this.dataGridViewAll)).BeginInit();
            this.SuspendLayout();

            this.dataGridViewAll.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.dataGridViewAll.Location = new System.Drawing.Point(1, 1);
            this.dataGridViewAll.Name = "dataGridViewAll";
            this.dataGridViewAll.Size = new System.Drawing.Size(300, 55);
            this.dataGridViewAll.TabIndex = 0;

            this.AutoScaleDimensions = new System.Drawing.SizeF(3F, 6F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Controls.Add(this.dataGridViewAll);


только что то это слишком громоздко получаеться, нельзя ли как то сделать поменьше, и главное чтобы размер грида (т.е. его ширина и длина) автоматически подбирался по  количеству записей, и по ширине инфы в нем???? 
PM MAIL   Вверх
FreakK
Дата 17.11.2007, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 1.7.2005
Где: Lviv (Ukraine)

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



Неуверен что ето громоздко....

Вот стандарний код, которий сгенерирован дизайнером.
Код


this.cardsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
            this.id,
            this.name,
            this.cardcode,
            this.rr,
            this.owner,
            this.pin,
            this.Valuta,
            this.summ});

            this.cardsDataGridView.ContextMenuStrip = this.contextMenuStrip;
            this.cardsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
            this.cardsDataGridView.Location = new System.Drawing.Point(0, 25);
            this.cardsDataGridView.Name = "cardsDataGridView";
            this.cardsDataGridView.RowHeadersWidth = 26;
            this.cardsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
            this.cardsDataGridView.Size = new System.Drawing.Size(732, 356);
            this.cardsDataGridView.TabIndex = 1;
            this.cardsDataGridView.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.cardsDataGridView_DataError);


А относително подбора размера, то по висоте там вроде есть какоето свойство. Но поширине - врядли (привязка полей проходит к парент об’эктам тоесть поля к гриду а не наоборот).
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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