데이터 테이블이 10 개이지만 사용자가 표시 할 열을 선택할 수 있으므로 선택한 열만 표시하기 위해 일반 코드를 만들어야합니다.데이터 테이블에서 선택한 열을 얻는 방법
Current code:
string[] selectedColumns = new[] { };
DataTable columns = new DataView(table).ToTable(false, selectedColumns);
데이터 테이블이 10 개이지만 사용자가 표시 할 열을 선택할 수 있으므로 선택한 열만 표시하기 위해 일반 코드를 만들어야합니다.데이터 테이블에서 선택한 열을 얻는 방법
Current code:
string[] selectedColumns = new[] { };
DataTable columns = new DataView(table).ToTable(false, selectedColumns);
당신은 단순히 DataGridView에있는 열을 숨길 수 selectedColumns
에없는하지만 당신이 정말로 필터링해야하는 경우 그 모든 컬럼에 대해dataGridView1.Columns["ColName"].Visible = False;
(하나를 사용하는 가정하면) 데이터 세트에서 다음과 같이 할 수 있음을 기억합니다.
mydatatable.Columns.Remove("ColName");
또는 사본에. '당신이있는 DataGridView의 열을 표시하려는 경우
, 내 옵션은 내가 지금 집에 아니에요 불행히도이
mydatatable.Columns["Colname"].ColumnMapping = MappingType.Hidden;
같은 데이터 테이블 컬럼의 ColumnMapping 속성을 설정하는 것입니다, 그래서 내가 할 수있는 테스트 해보지 만, 알다시피 많은 옵션이 있습니다.
편집 : 귀하의 요청에 대한 응답으로이 같은 비 선택된 열을 처리 할 수 있습니다
for(int i = 0;i<dt.Columns.Count;i++)
{
if(!selectedColumns.Contains(dt.Columns[i].ColumnName))
{
dt.Columns[i].ColumnMapping = MappingType.Hidden;
}
}
public static void Main(string[] args)
{
DataTable act = new DataTable();
act.Columns.Add(new DataColumn("id", typeof(System.Int32)));
act.Columns.Add(new DataColumn("name"));
act.Columns.Add(new DataColumn("email"));
act.Columns.Add(new DataColumn("phone"));
DataRow dr = act.NewRow();
dr["id"] = 101;
dr["name"] = "Rama";
dr["email"] = "[email protected]";
dr["phone"] = "0000000001";
act.Rows.Add(dr);
dr = act.NewRow();
dr["id"] = 102;
dr["name"] = "Talla";
dr["email"] = "[email protected]";
dr["phone"] = "0000000002";
act.Rows.Add(dr);
dr = act.NewRow();
dr["id"] = 103;
dr["name"] = "Robert";
dr["email"] = "[email protected]";
dr["phone"] = "0000000003";
act.Rows.Add(dr);
dr = act.NewRow();
dr["id"] = 104;
dr["name"] = "Kevin";
dr["email"] = "[email protected]";
dr["phone"] = "0000000004";
act.Rows.Add(dr);
dr = act.NewRow();
dr["id"] = 106;
dr["name"] = "TomChen";
dr["email"] = "[email protected]";
dr["phone"] = "0000000005";
act.Rows.Add(dr);
var lselColumns = new[] {"id", "name"};
var dt = act.DefaultView.ToTable(true, lselColumns);
foreach (DataRow drow in dt.Rows)
{
string drowData = string.Empty;
foreach (DataColumn r in drow.Table.Columns)
{
drowData += (drowData == string.Empty) ? drow[r] : "|" + drow[r];
}
Console.WriteLine(drowData);
}
Console.ReadLine();
}
은 어떻게하지 선택한 열 목록을 가져 말해 수 있습니다. – psobhan
질문 편집되지 않은 열을 가져 오도록 편집되었습니다. – Jonathan