Данные не отображаются при создании оператора цикла в элементе управления сеткой данных - PullRequest
0 голосов
/ 01 марта 2011

У меня был элемент управления datagridview, который извлекает данные из базы данных. У меня был свой код, чтобы сделать это, но никаких данных не появилось в gridview. Я сделал точку останова в цикле, но когда на DataGridViewTextBoxCell Number = (DataGridViewTextBoxCell)DGCategory.Rows[i].Cells[l]; Просмотр таблицы данных без данных

private void getcategory()
        {
            for (int i = 0; i < DGCategory.Rows.Count; i++)
            {
                for (int l = 0; l < DGCategory.Rows[i].Cells.Count; l++)
                {
                    DataGridViewTextBoxCell Number = (DataGridViewTextBoxCell)DGCategory.Rows[i].Cells[l];
                    DataGridViewTextBoxCell Category = (DataGridViewTextBoxCell)DGCategory.Rows[i].Cells[l];
                    DataGridViewTextBoxCell Parent = (DataGridViewTextBoxCell)DGCategory.Rows[i].Cells[l];
                    DataGridViewCheckBoxCell Active = (DataGridViewCheckBoxCell)DGCategory.Rows[i].Cells[l];
                    DataGridViewTextBoxCell AddDate = (DataGridViewTextBoxCell)DGCategory.Rows[i].Cells[l];

                using (SqlConnection Con = GetConnection())
                {
                    SqlCommand cmd = new SqlCommand("SP_GetAllCategories", Con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlDataReader dr;
                    dr = cmd.ExecuteReader();
                    if (dr.Read())
                    {
                        Number.Value = dr["Number"].ToString();
                        Category.Value = dr["Category"].ToString();
                        Parent.Value = dr["Parent"].ToString();
                        Active.Value = dr["Active"].ToString();
                        AddDate.Value = dr["AddDate"].ToString();

                    }

                }
            }
        }
    }

1 Ответ

1 голос
/ 01 марта 2011

Если вы хотите получить значения из вашей базы данных в виде сетки .. используйте следующее:
напишите ваш запрос в строке под названием «selectCommand», например, затем используйте набор данных для получения результатов:

public DataSet GetSearchEmpResults(string emp_fn)
{
string selectCommand = @"select 
                                emp.first_name as 'First Name',
                                emp.last_name as 'Last Name'
                                from Employees emp
                                where emp.first_name = '" + emp_fn + "';";
SqlCommand command = new SqlCommand(selectCommand, this.Connection);
DataSet ds = new DataSet("Results");
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(ds, "Results");
return ds;  
}

затем в коде сетки данных:

DataSet results = db.GetSearchEmpResults(fristName, lastName); //this depends on your results
dataGridViewResults.DataSource = results;
dataGridViewResults.DataMember = "Results";  

dataGridViewResults - это имя сетки данных, в которой вы хотите, чтобы ваши результаты появлялись.
Обратите внимание, что вы должны предоставить подключение к вашей базе данных, чтобы получить результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...