2012-04-07 3 views
0

xml WebResponse에서 데이터 집합을 읽은 다음이 데이터 집합에서 테이블을 병합하고 병합 테이블에 7 개의 하드 코딩 된 레이블을 추가하여 데이터 격자에 표시하는 방법, 레이블 항상 같은 값을 지니고 순서는 항상 동일합니다.DataGrid의 행에 레이블을 지정하는 가장 쉬운 방법

테이블에 7 개의 행 헤더를 추가하고 싶습니다. DataGrid에 표시됩니다. 내가

WebRequest req = WebRequest.Create(m_uri); 
     WebResponse rsp; 
     req.Method = "POST"; 
     req.ContentType = "text/xml"; 
     StreamWriter writer = new StreamWriter(req.GetRequestStream()); 
     writer.WriteLine(buildXml().ToString()); 
     writer.Close(); 
     rsp = req.GetResponse(); 

     //Get the Posted Data 
     StreamReader reader = new StreamReader(rsp.GetResponseStream()); 
     string rawXml = reader.ReadToEnd(); 
     XmlDocument xml = new XmlDocument(); 
     xml.LoadXml(rawXml); 

     //Use XPath to Navigate the Document 
     int status = Convert.ToInt32(xml.SelectSingleNode(@"/RatingServiceSelectionResponse/Response/ResponseStatusCode").InnerText); 
     if (status == 1) 
     { 




      StringReader srxml = new StringReader(rawXml); 

      DataSet dsAuthors = new DataSet("RatedShipment"); 
      dsAuthors.ReadXml(srxml); 

      dsAuthors.EnforceConstraints = false; 

      DataTable Shipment = dsAuthors.Tables[2]; 
      DataTable TotalCharges = dsAuthors.Tables[8]; 
      DataTable table = new DataTable("UPS Service"); 

      Shipment.Merge(TotalCharges); 
      Shipment.Columns.Remove("RatedShipmentWarning"); 
      Shipment.Columns.Remove("CurrencyCode"); 
      Shipment.Rows.RemoveAt(7); 
      DataColumn UPSService = new DataColumn(); 
      UPSService.DataType = typeof(string); 
      UPSService.ColumnName = "UPS Service"; 
      Shipment.Columns.Add(UPSService); 
      Shipment.Rows[0].Cells[0].Value = "UPS Ground"; 
      Shipment.Rows[1].Cells[0].Value = "UPS Three Day"; 
      Shipment.Rows[2].Cells[0].Value = "UPS Second Day A.M."; 
      Shipment.Rows[3].Cells[0].Value = "UPS Second Day"; 
      Shipment.Rows[6].Cells[0].Value = "UPS Next Day Air Saver"; 
      Shipment.Rows[4].Cells[0].Value = "UPS Next Day Air Early A.M."; 
      Shipment.Rows[5].Cells[0].Value = "UPS Next Day Air"; 



     dataGridView1.DataSource = Shipment; 


     } 
     else 
     { 
      MessageBox.Show("Unable To Process: Please Check All Fields Are Entered"); 
     } 

을 시도했지만 행 후 세포가 정확하지 무엇

.

+0

응용 프로그램이 asp.net 또는 Windows-형태의 응용 프로그램입니다? –

+0

행 헤더 용 windows-forms 응용 프로그램 –

답변

0

그럼 당신은이 작업을 수행해야한다 :

foreach (DataGridViewRow row in datagrid.Rows) { 
    row.Cells(0).Value = "yourtext"; 
} 
+0

? 위에서 아래로? –

+0

당신은 그리드의 헤더의 이름을 변경해야합니까? 당신이 말하는 머리글은 무엇입니까? –

+0

각 행에 첫 번째 셀이 있으므로 특정 행이 필요합니다. 1 행 2 행 3 행 4 위에서 아래로 각 행의 설명. –