DataGrid 컨트롤의 데이터를 편집하려면 "버튼 열"의 "편집, 업데이트, 취소" 열을 사용하십시오. 이는
DataGrid 컨트롤의 속성 생성기에서 DataGrid 컨트롤로 설정할 수 있습니다(컨트롤 이름 dg1을 예) 페이지의 dg1 컨트롤에 열이 하나 더 있습니다. 이 열의 각 항목은 "Edit" 텍스트가 있는 LinkButton/Button입니다.
행의 "편집" 버튼을 클릭하면 해당 행은 편집 모드가 되고, "편집" 버튼은 "업데이트" 및 "취소" 버튼으로 대체되며, 읽기 전용이 아닌 다른 모든 데이터 도우미 열은 행은 사용자가 편집하고 수정할 수 있도록 TextBox 컨트롤 형식으로 변경됩니다.
사용자가 읽기 전용이 아닌 데이터 열(TextBox 컨트롤에서)의 데이터를 수정하고 "업데이트" 버튼을 클릭하고 새 값을 저장하고(일반적으로 데이터베이스에) "취소" 버튼을 클릭하면 행 종료 편집 모드.
"Edit" 버튼을 클릭하여 행 편집 모드로 전환하는 효과를 얻으려면 "Update" 버튼을 클릭하여 새 값을 저장하는 효과를 얻으려면 dg1의 EditCommand 이벤트 처리 메서드를 작성해야 합니다. dg1의 UpdateCommand 이벤트 처리 방법을 작성해야 합니다. "Cancel" 버튼을 클릭하여 라인 편집 모드를 종료하려면 dg1의 CancelCommand 이벤트 처리 방법을 편집해야 합니다.
1) dg1.EditCommand 이벤트 처리 방법 - 라인 편집에 들어갑니다. 방법
------------------------------------- ----
개인 무효 dg1_EditCommand(개체 소스, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg1.EditItemIndex = e.Item.ItemIndex; //편집할 항목의 인덱스를 설정합니다.
bindg1(); //dg1에 데이터를 바인딩하는 방법. 편집할 항목을 설정한 후 dg1을 다시 바인딩해야 합니다.
}
------------------------------------- -------
2) dg1.CancelCommand 이벤트 처리 방법 - 행 편집 모드 종료
------------------------------------- -------
개인 무효 dg_CancelCommand(개체 소스, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg1.EditItemIndex = e.Item.ItemIndex; //편집된 항목의 인덱스는 -1이며, 이는 편집된 항목이 없음을 의미합니다.
bindg1(); //EditItemIndex를 재설정한 후 dg1을 다시 바인딩해야 합니다.
}
------------------------------------- -------
3) dg1.UpdateCommand 이벤트 처리 방법 - 업데이트된 값을 저장하려면 먼저 페이지에서 이러한 새 값을 가져와야 합니다. 이벤트 처리 방법에서는 세 가지 주요 기능을 구현해야 합니다.
업데이트된 값을 가져오고, 해당 값을 업데이트하고, 행 업데이트 모드를 종료합니다.
일반적으로 DataGrid 컨트롤에 표시되는 데이터는 데이터베이스 테이블에서 가져오므로 업데이트된 값도 데이터베이스에 저장해야 합니다. 업데이트를 수행하려면 업데이트 SQL 문이나 저장 프로시저를 사용할 수 있습니다.
편집 모드에서 행의 페이지에서 열 값을 얻으려면 몇 가지 트릭이 필요합니다. 바인딩 열을 예로 들어 보겠습니다.
읽기 전용으로 바인딩된 열의 값을 가져옵니다. e.Item.Cells[column index].Text //읽기 전용 도움말 열은 편집할 수 없는 상태입니다. 읽기 전용이 아닌 바인딩된 열의 값을 가져옵니다. ((TextBox)(e.Item.Cells[Column Index].Controls[0])).Text //편집 상태에서
읽기 전용 도움말 열은 일반적으로 테이블의 기본 키 열입니다. 업데이트 문의 where 절에 사용됩니다. 일반적으로
코드 예는
업데이트되지 않습니다.
------------------------------------- --------
개인 무효 DataGrid1_UpdateCommand(개체 소스, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//편집 불가능한 상태의 읽기 전용 바인딩된 열
string customerid = e.Item.Cells[1].Text;
//읽기 전용이 아닌 바인딩된 열, 편집 상태
문자열 회사 이름 = ((TextBox)(e.Item.Cells[2].Controls[0])).Text;
string city = ((TextBox)(e.Item.Cells[3].Controls[0])).Text;
String strSql = "고객 설정 회사 이름 = '" + 회사 이름 +
"',city = '" + city + "' 여기서 고객 ID = '" + 고객 ID + "'";
runSql(strSql); //업데이트 문을 실행하여
DataGrid1.EditItemIndex = -1을 업데이트합니다. //행 편집 모드를 종료합니다.
바인딩dg1();
}