بايد به طراحيت نگاه كني اگر آبجكت اورينتد داري كار مي كني توي يك شي از شي ديگه استفاده مي كني بايد توي خاصيت rowdatabound گريدت استفاده كني.
اگر نه مي خواي هردم بيلي خودت رو راحت كني يه view بنويس كه دو تا جدولت رو join كنه بعد يك dataadapter بساز كه dataset رو پر كنه بسيار ساده
كد روش اول كه من اينو مي پسندم
protected void gvList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
Common.Business.Contact objContact = objCLService.Contact;
Common.Business.Company objCompany = objContact.companyID;
e.Row.Cells[1].Text = objCompany.Name;
e.Row.Cells[4].Text = objContact.ContactNo + objContact.ContactDate;
}
كد روش دوم كه خيلي مسخرس
dp.Comm.CommandText = "sp_PostPersonnel";
dp.Comm.CommandType = CommandType.StoredProcedure;
dp.Comm.Parameters.Clear();
dp.Comm.Parameters.AddWithValue("@Post", Post);
dp.Comm.Parameters.AddWithValue("@IsAlternative", IsAlternative);
DataSet ds = new DataSet();
dp.Dad.Fill(ds);
gridview1.DataSource=ds;
gridview1.DataBind();