使用现有列名将数据从Oracle插入DataGridView

时间:2018-10-22 17:00:20

标签: c# oracle datagridview

我要用WinForm编写一个应用程序,该应用程序从Oracle检索数据并将其插入到DataGridView中。特殊的事情:DataGridView已经具有列名。单击按钮时,数据应加载到相应的列中。我希望用户在加载包含列名的数据之前先在DataGridView中查看列名。

我该怎么做,或者换句话说,如何将Oracle中的列分配给DataGridView中的列。谢谢

private void button2_Click(object sender, EventArgs e)
    {
        try

        {

            string ConString = "Data Source= DWH;User Id=readonly;Password=*******;";

            using (OracleConnection con = new OracleConnection(ConString))
            {
                OracleCommand cmd = new OracleCommand("SELECT * FROM EMPLOYEES", con);
                OracleDataAdapter oda = new OracleDataAdapter(cmd);
                DataTable data = new DataTable();
                oda.Fill(data);
                dataGridView2.DataSource = data;
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }

    }

2 个答案:

答案 0 :(得分:0)

您可以尝试此操作,而不是为datagridview中的列设置名称,而可以从查询中设置名称。

示例:

Select fname as 'Full Name', lname as 'Last name',dob as 'Date of Birth'
From employeeDetails

然后,datagridview的列名称将是您在查询中指定的名称。

答案 1 :(得分:0)

将DataGridView的数据源绑定到BindingSource实例。将BindingSource的数据源绑定到List<SomeType>SomeType类应具有要显示的所有公共属性。如果您不想显示某些属性,则可以使用属性上的[Browsable(false)]属性将它们从网格中删除。如果要将诸如fname之类的字段重命名为Full Name,请在属性上使用[DisplayName]属性。

如果在初始化数据网格视图之后但在显示它之前执行此操作,它将首先显示列名而不显示行。

相关问题