FIX: 데이터 올바르게 Windows 응용 프로그램에서 .NET Framework 1.1 DataGrid 컨트롤이 정렬되어 있지 않은

기술 자료 번역 기술 자료 번역
기술 자료: 828099 - 이 문서가 적용되는 제품 보기.
알림
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft Visual Studio .NET을 사용하여 만든 Windows 응용 프로그램을 DataGrid 컨트롤을 추가 및 다음 DataGrid 컨트롤의 데이터 소스 속성을 설정할 때 데이터 원본에서 데이터 레코드를 삭제한 후 데이터를 제대로 정렬되어 있지 않은 것을 확인할 수 있습니다.

해결 방법

소프트웨어 업데이트 정보

이 문제를 해결하려면 Microsoft .NET Framework 1.1 최신 서비스 팩을 구하십시오. 최신 서비스 팩을 다운로드하려면 다음 Microsoft 웹 사이트를 방문하십시오.
http://www.microsoft.com/downloads/details.aspx?FamilyId=A8F5654F-088E-40B2-BBDB-A83353618B38

해결 과정

이 문제를 해결하려면 다음과 같이 하십시오.
  1. Bind 메서드를 Form1.cs 파일을 찾는:
    frm.Controls.Add(dataGrid); 
    		dataGrid.DataSource = dv;
  2. 다음 코드 사용하여 1단계에서 찾은 코드를 바꿉니다:
    dataGrid.DataSource = dv;
    		frm.Controls.Add(dataGrid);
  3. 응용 프로그램을 다시 빌드하고 응용 프로그램을 실행하십시오.

    "현상" 절에서 설명한 동작은 알 수 없습니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다. 이 문제는 Microsoft .NET Framework 1.1 서비스 팩 1에서 수정되었습니다.

추가 정보

동작을 재현하는 단계"섹션에 있는 코드를 이 문제를 보여 줍니다. 이 응용 프로그램 데이터 테이블이 들어 한 데이터 집합을 포함합니다. 코드 안에 다섯 개의 행이 있는 데이터 테이블이 채워집니다. 그런 다음 데이터는 Integer 형식의 데이터 테이블의 열 중 하나에 따라 정렬됩니다. 이 후 코드를 데이터 테이블에서 일부 행을 삭제합니다.

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

  1. Visual Studio .NET 시작하십시오.
  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트 를 클릭하십시오. 새 프로젝트 대화 상자가 나타납니다.
  3. 프로젝트 형식Visual C# 프로젝트 를 클릭하십시오.
  4. 템플릿 에서 Windows 응용 프로그램 을 누른 다음 확인 을 누릅니다. 기본적으로 Form1 이라는 폼이 만들어집니다.
  5. 솔루션 탐색기 창에서 Form1.cs 파일을 마우스 오른쪽 단추로 클릭한 다음 코드 보기를 클릭하십시오.
  6. Replace the existing code with the following code:
    using System;
    using System.Data;
    using System.Windows.Forms;
    
    class TestForm : Form 
    {
    	public TestForm()
    	{
    		InitializeComponent();
    	}
    
    	private void InitializeComponent()
    	{
    		DataSet ds = new DataSet();
    		DataTable dt = ds.Tables.Add("Customers");
    		DataColumn c = dt.Columns.Add("Id", typeof(int));
    		dt.Columns.Add("Name", typeof(string));
    		dt.Columns.Add("Related", typeof(string));
    		DataRow dr= dt.NewRow();
    		DataRow dr1= dt.NewRow();
    		DataRow dr2= dt.NewRow();
    		DataRow dr3= dt.NewRow();
    		DataRow dr4= dt.NewRow();
    		//
    		dr["Id"]=1;
    		dr["Name"]="A";
    		dr["Related"]="";
    		dt.Rows.Add(dr);
    		//
    		dr1["Id"]=2;
    		dr1["Name"]="B";
    		dr1["Related"]="A";
    		dt.Rows.Add(dr1);
    		//
    		dr2["Id"]=3;
    		dr2["Name"]="C";
    		dr2["Related"]="";
    		dt.Rows.Add(dr2);
    		//
    		dr3["Id"]=4;
    		dr3["Name"]="D";
    		dr3["Related"]="A";
    		dt.Rows.Add(dr3);
    		//
    		dr4["Id"]=5;
    		dr4["Name"]="E";
    		dr4["Related"]="";
    		dt.Rows.Add(dr4);
    		//	
    		DataView dv = new DataView(ds.Tables["Customers"]);
    		dv.Sort = "Id ASC";
    		//
    		Bind(dv);
    		//Create another view with the rowFilter property that is set 
      //to the name value of the row that will be deleted.
    		DataView dv1 = new DataView(ds.Tables["Customers"]);
    		dv1.RowFilter = String.Format("Related = '{0}'", dv[0]["Name"]);
    		for (int i = 0; i < dv1.Count; i++) 
    		{
    			dv1[i].Delete();
    		}
    
    		dv[0].Delete();
    
    		for (int i = 0; i < dv.Count; i++) 
    		{
    			dv[i][0] = i + 1;
    		} 
    	}
    
    	public void Bind(DataView dv)
    	{
    		Form frm = this;
    		DataGrid dataGrid = new DataGrid();
    		dataGrid.Dock = DockStyle.Fill;
    		dataGrid.Size = frm.ClientSize;
    		frm.Controls.Add(dataGrid); 
    		dataGrid.DataSource = dv;
    	}
    
    	public static void Main()
    	{
    		try 
    		{
    			Application.Run(new TestForm());
    		} 
    		catch (Exception exc) 
    		{
    			MessageBox.Show(exc.ToString());
    		} 
    	}
    }
  7. 빌드 메뉴에서 솔루션 빌드 를 클릭하십시오.
  8. 디버그 메뉴에서 시작 을 클릭하십시오. "현상" 절에 언급된 문제를 확인할 수 있습니다.
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명
자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
정렬 및 DataView 사용하여 데이터 필터링
http://msdn2.microsoft.com/en-us/library/13wb36xf(vs.71).aspx

속성

기술 자료: 828099 - 마지막 검토: 2007년 5월 21일 월요일 - 수정: 1.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 1.1
키워드:?
kbmt kbhotfixserver kbqfe kbbug kbnetframe110sp1fix kbdatabinding kbwindowsforms kbtable kbdll kbcontrol kbqfe kbnetframe110presp1fix kbfix KB828099 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com