DataGridView에서 DataTable 데이터 바인딩 및 관련 작업 구현 코드

1942 단어
 
  
DataTable DT = new DataTable();
DT.Columns.Add("Name");
DT.Columns.Add("Sex");
DataRow dr = DT.NewRow();
dr[0] = "Kenny";
dr[1] = " ";
DT.Rows.Add(dr);

A:DataGridView 컨트롤의 열 편집에서 DataPropertyName 속성을 DataTable의 열 이름으로 설정합니다. 예를 들어 DataPropertyName="Name"
B:행 선택 작업:
 
  
private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex != -1 && !dataGridView.Rows[e.RowIndex].IsNewRow)
{
String name = dataGridView.Rows[e.RowIndex].Cells["dataGridViewTextBoxColumn1"].Value.ToString();
MessageBox.Show(name);
}
}

e.ColumnIndex는 당신이 클릭한 열의 인덱스를 가리킨다. e.RowIndex는 줄의 인덱스이다. 만약에 데이터 GridView에 데이터가 없다면 e.RowIndex는 -1이고 Cells["dataGridViewTextBoxColumn1"]은 데이터 GridView에서 열거한 이름을 인덱스로 표시하여 Cells[0], 즉 1열로 쓸 수 있다.
웹 페이지의 GridView에서 값을 얻으려면 GridView에서 값을 얻을 탭에 CommandArgument="을 추가하고 CommandName을 지정해야 합니다. GridView의FindControl을 통해 컨트롤을 찾아 컨트롤의 값을 가져옵니다.
코드는 다음과 같습니다.
asp 페이지:
 
  


백그라운드:
GridView의 RowCommand 이벤트에 다음 코드를 씁니다.
 
  
protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int index = Convert.ToInt32(e.CommandArgument); //
GridViewRow row = this.GridView.Rows[index]; // GridViewRow
Label label1 = (Label)row.FindControl("label1");
String name = label1.Text;
Response.Write(name);
}
}

좋은 웹페이지 즐겨찾기