2015-01-15 7 views
0

horizondal 방식으로 gridview를 생성하고 있습니다. 코드는 잘 작동하지만 column1 및 column2라는 이름을 가진 더미 행 삽입. 이 삽입을 방지하려면 어떻게해야합니까 ?? 내 gridview에 코드 내 현재 오/피가 나는이 1 열 및 2 열 행을 방지 할더미 행을 gridview에 삽입하지 않도록하는 방법은 무엇입니까?

Column1 Column2 
MachID  101 
EmpCode ABC 

입니다

str = "select MachID,EmpCode from EmpDetails where EmpCode='" + empcode + "'"; 
DataTable dt = GetData(str); 
DataTable dt2 = new DataTable(); 
for (int i = 0; i <= dt.Rows.Count; i++) 
{ 
    dt.Columns.Add(); 
} 
for (int i = 0; i < dt.Columns.Count; i++) 
{ 
    dt2.Rows.Add(); 
    dt2.Rows[i][0] = dt.Columns[i].ColumnName; 
} 
for (int i = 0; i < dt.Columns.Count; i++) 
{ 
    for (int j = 0; j < dt.Rows.Count; j++) 
    { 
     dt2.Rows[i][j + 1] = dt.Rows[j][i]; 

    } 
} 
gvOrders.DataSource = dt2; 
gvOrders.DataBind(); 

입니다. 어떻게해야합니까 ??

은 영문 파일의 다른
gvOrders.RowHeadersVisible = false; 

당신은에 ShowHeader="False"를 추가 할 수 있습니다

내 GetData의 기능은 다음과 같이 코드 숨김 false로 행 헤더의 가시성을 설정하려고 당신에

private static DataTable GetData(string query) 
{ 
    DataTable dt = new DataTable(); 
    SqlCommand cmd = new SqlCommand(query); 
    String constr =  ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; 
    SqlConnection con = new SqlConnection(constr); 
    SqlDataAdapter sda = new SqlDataAdapter(); 
    cmd.CommandType = CommandType.Text; 
    cmd.Connection = con; 
    sda.SelectCommand = cmd; 
    sda.Fill(dt); 
    return dt; 
} 
+1

사이에 코드 줄을 추가 SQL 주입 경향이 쿼리 http://stackoverflow.com/questions/6547986/how-to-prevent-a-sql-injection-escaping-strings –

+0

@ 코더의 코드, 예, 그냥 매개 변수화 된 쿼리 피할 thatsy 테스트 모델 . –

+0

당신은 aspx 코드 –

답변

1

입니다 귀하의 ASP : GridView 태그.

+0

"RowHeadersVisible"을 찾을 수 없습니다. –

+0

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridtablestyle.rowheadersvisible%28v=vs.110%29.aspx – Thomas

+0

'Column1'과 두 개의 for 루프가 처음으로 반복 될 때 'Column2'가 인쇄되므로 각 for 루프의 첫 번째 실행이 완료되면 행에 아무 것도 추가하지 않는 조건을 지정하면됩니다. - Laymen 솔루션 (쉽게 이해하고 구현할 수 있음) – Parth

0

코드

for (int i = 0; i < dt.Rows.Count-1; i++) 
     { 
      for (int j = i+1; j < dt.Rows.Count; j++) 
      { 
       if (dt.Rows[i].ItemArray.SequenceEqual(dt.Rows[j].ItemArray)) 
        dt.Rows[j].Delete(); 
      } 
     } 

dt를 데이터 테이블에서 중복 행을 삭제하기 위해 SQL을 피하기 위해이 글을 읽을 SQL 주입하는 경향이주의 측면에서 두 번째와 세 번째 라인

관련 문제