2013-04-16 1 views
0

열에 구두점이있을 때 데이터 표시를 거부하는 DataGrid가 있습니다. 내가 DataTable을에 결과 데이터를 배치 다음과 같은 SQL 문이있어 : 때문에 별명의 . 문자열에 문장 부호가있는 내용을 표시하는 방법

string statement = "SELECT TOP 200 [Test] AS [Primary key for Department records.] FROM [dbo].[Children]"; 

using (SqlDataAdapter adapter = new SqlDataAdapter(statement, connection)) 
         { 
          adapter.Fill(dtResults); 
         } 

을 DataGrid에는 DataTable에 포함 된 정보를 표시하지 않습니다. 나는 시행 착오를 통해 이것을 발견했다. 그런 열과 함께 데이터를 표시하는 DataGrid를 어떻게 얻을 수 있습니까? 이 작동하지만,하려고하면

dgResults.DataContext = myDataTable.AsDataView(); 
dgResults.AutoGeneratingColumn += new EventHandler<DataGridAutoGeneratingColumnEventArgs>(dataGrid_AutoGeneratingColumn); 
dgResults.Visibility = Visibility.Visible; 

private void dataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
{ 
    //Sets the DataGrid's headers to be TextBlocks, which solves a problem whereby underscore characters in the header are ignored. 
    TextBlock block = new TextBlock(); 
    block.Text = e.Column.Header.ToString(); 
    e.Column.Header = block; 
} 
+0

DataTable을 어떻게 채우고 있습니까? 그 코드를 보여 주시겠습니까? – Dilshod

+0

물론 @ 딜 쉐드 그냥 초 –

+0

@Dilshod - 위에 추가 –

답변

1

나는 확실하지 않다 :

이 바인딩 코드

DataSet dset = new DataSet(); 
using (SqlDataAdapter adapter = new SqlDataAdapter(statement, connection)) 
{ 
     adapter.Fill(dset); 
} 
DataTable dtResults = dset.Tables[0]; 

나는 그 문제가 해결되기를 바랍니다.

업데이트 : 구두점을 제거하십시오.

 //this is just a list of punctuations. Database field never might not contains some of them. 
     string[] punct = new string[]{"[", "]" ,"(", ")", "{", "}", "<", ">", ":", 
      ",", "-", "...", "!", "«", "»", "-", ".", "?", "\"", "'", "'", ";", "/"}; 

     foreach (DataColumn column in table.Columns) 
     { 
      string colName = column.ColumnName; 
      bool b = punct.Any(s => colName.Contains(s)); 
      var listOfPunct = punct.Where(s => colName.Contains(s)).ToList(); 
      foreach (string p in listOfPunct) 
      { 
       colName = colName.Replace(p, ""); 
      } 
      column.ColumnName = colName; 
     } 
+0

작동하지 않았습니다 - 여전히 결과를 표시하지 않음 :/ –

+0

여전히 빈 행을 표시합니까? – Dilshod

+0

네, 그렇습니다. 구두점이있는 열에만 해당 –

관련 문제