Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将datagridview的列名称添加到独立组合框控件_C#_Datatable_Datagridview - Fatal编程技术网

C# 将datagridview的列名称添加到独立组合框控件

C# 将datagridview的列名称添加到独立组合框控件,c#,datatable,datagridview,C#,Datatable,Datagridview,我已经用datatabledTable填充了datagridviewdgvDisplay。我想将Datagridview列名称作为项目添加到另一个控件组合框中。我该怎么做 dTable = LoadDTable(); dgvDisplay.DataSource = dTable; cmbSearchColumn.DataSource = ?? 您可以从数据表中获得列名的列表,如下所示: List<string> colNames = dTable.Columns.Cast<D

我已经用datatable
dTable
填充了datagridview
dgvDisplay
。我想将Datagridview列名称作为项目添加到另一个控件组合框中。我该怎么做

dTable = LoadDTable();
dgvDisplay.DataSource = dTable;
cmbSearchColumn.DataSource = ??
您可以从
数据表中获得列名的
列表,如下所示:

List<string> colNames = dTable.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToList());
如果需要datagridview的标题文本:

List<string> dgvHeaders = new List<string>();
foreach (DataGridViewColumn column in dataGridView.Columns)
{
      dgvHeaders.Add(column.HeaderText);
}
List dgvHeaders=new List();
foreach(dataGridView.Columns中的DataGridViewColumn列)
{
dgvHeaders.Add(column.HeaderText);
}
您可以从
数据表中获得列名的
列表,如下所示:

List<string> colNames = dTable.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToList());
如果需要datagridview的标题文本:

List<string> dgvHeaders = new List<string>();
foreach (DataGridViewColumn column in dataGridView.Columns)
{
      dgvHeaders.Add(column.HeaderText);
}
List dgvHeaders=new List();
foreach(dataGridView.Columns中的DataGridViewColumn列)
{
dgvHeaders.Add(column.HeaderText);
}

这里有两个选项可供选择
(或者您可以使用Ryan Wilson答案中介绍的LINQ)

private void Myfunction()
{
DataTable dTable=新的DataTable();
//备选案文1:
for(int i=0;i
这里有两个选项可供选择
(或者您可以使用Ryan Wilson答案中介绍的LINQ)

private void Myfunction()
{
DataTable dTable=新的DataTable();
//备选案文1:
for(int i=0;i
如何获取列标题文本?@MuhammadRizwan我在回答的第一行代码中给出了这一点。您可以
将datatable的Columns属性的每个项强制转换为
DataColumn
,并选择其
ColumnName
属性,该属性的类型为
string
。datatable列名不同于column的标题文本。e、 g列名是
SName
,但列头文本是
学生名
。如何获取标题文本?我知道如何使用它。但是我在上面的评论中没有理解您的观点。@muhammadrizwan如果您想要datagridview的标题,请参阅更新的回答如何获取列标题文本?@muhammadrizwan我在回答的第一行代码中就给了您。您可以
将datatable的Columns属性的每个项强制转换为
DataColumn
,并选择其
ColumnName
属性,该属性的类型为
string
。datatable列名不同于column的标题文本。e、 g列名是
SName
,但列头文本是
学生名
。如何获取标题文本?我知道如何使用它。但是我在上面的评论中没有理解您的观点。@muhammadrizwan如果您想要datagridview的标题,请参阅更新的回答如何获取列标题文本?如何获取列标题文本?