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

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

828099
알림
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
현상
Microsoft Visual Studio .NET을 사용하여 만든 Windows 응용 프로그램을 DataGrid 컨트롤을 추가 및 다음 DataGrid 컨트롤의 데이터 소스 속성을 설정할 때 데이터 원본에서 데이터 레코드를 삭제한 후 데이터를 제대로 정렬되어 있지 않은 것을 확인할 수 있습니다.
해결 방법

소프트웨어 업데이트 정보

이 문제를 해결하려면 Microsoft .NET Framework 1.1 최신 서비스 팩을 구하십시오. 최신 서비스 팩을 다운로드하려면 다음 Microsoft 웹 사이트를 방문하십시오.
해결 과정
이 문제를 해결하려면 다음과 같이 하십시오.
  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

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 828099 - 마지막 검토: 01/17/2015 05:22:24 - 수정: 1.3

Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbnetframe110sp1fix kbdatabinding kbwindowsforms kbtable kbdll kbcontrol kbqfe kbnetframe110presp1fix kbfix KB828099 KbMtko
피드백