//直接绑定DataTable
string pnsql = @"select pId,pTypeId,pName,pCellPhone,pHomePhone,phoneType.ptName from phoneNum,phoneType where PhoneNum.pTypeId=PhoneType.ptId";
DataTable dtpn = SqlHelper.ExecuteTable(pnsql);
this.dgvPerson.DataSource = dtpn;
//使用的时候返回的是一个object类型,需要进行装箱拆箱
object i = this.dgvPerson.CurrentRow.Cells[1].Value; //装箱
string j=i.ToString(); //拆箱
MessageBox.Show(j);
//获得DataTable后转化为List<T>再进行绑定
string pnsql = @"select pId,pTypeId,pName,pCellPhone,pHomePhone,phoneType.ptName from phoneNum,phoneType where PhoneNum.pTypeId=PhoneType.ptId";
DataTable dtpn = SqlHelper.ExecuteTable(pnsql);
List<PhoneNum> pnlist = SqlHelper.GetPNList(dtpn); //对获得的DataTable转换成List<T>
this.dgvPerson.DataSource = pnlist; //绑定List<T>
PhoneNum pntemp = this.dgvPerson.CurrentRow.DataBoundItem as PhoneNum; //将获得的绑定想强转为实体类对象,然后可以直接调用
txtName.Text = pntemp.PName.ToString();
txtPhone.Text = pntemp.PHomePhone.ToString();
txtCellPhone.Text = pntemp.PCellPhone.ToString();
cboPtName.Text = pntemp.PtName.ToString();