在页面刷新后,datagrid没有绑定值,当然也就没有显示了。
最好将相关源代码贴出来

解决方案 »

  1.   

    代码太多,部分代码如下:
    private void btnQuery_Click(object sender, EventArgs e)
    {
    if (txtName.Text.Trim() != String.Empty || txtCode.Text.Trim() != String.Empty)
      getListInfo(txtName.Text, txtCode.Text);
    else
      lblInfo.Text = "<font color=#800000>Error!!!</font>";
    }private void getListInfo(string EnterpriseName, string EnterpriseCode)
    {
    string strErr;


    dsList = clsEB.GetListInfo(EnterpriseName,EnterpriseCode, out strErr);
    if (dsList==null)
    {
    this.Controls.Add(new LiteralControl(strErr));
    }
    else 
    {
    max = dsList.Tables["companylist"].Rows.Count;
    lbtnName = new LinkButton[max]; for (int i=0; i<max; i++)
    { lbtnName[i] = new LinkButton();
    lbtnName[i].Text = dsList.Tables["companylist"].Rows[i][1].ToString();
    lbtnName[i].ID =  dsList.Tables["companylist"].Rows[i][0].ToString();
    lbtnName[i].Click += new EventHandler(lbtnName_Click);
    } dg.ItemCreated += new DataGridItemEventHandler(dgList_ItemCreated);
    dg.ItemDataBound += new DataGridItemEventHandler(dgList_ItemDataBound);
    dg.Width = this.Width;
    dg.DataSource = dsList.Tables["companylist"].DefaultView;
    dg.DataBind();
    }private void dgList_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
    if (e.Item.Cells.Count>0)
    {
    for (int i=0; i<max; i++) 
    {
    if (e.Item.Cells[0].Text == lbtnName[i].ID)
    {
    e.Item.Cells[1].Controls.Add (p[i]);
    this.p[i].Controls.Add(lbtnName[i]);

    }
    }
    }
    }//这个根本没运行,怎么回事?
    private void lbtnName_Click(object sender, EventArgs e)
    {
    LinkButton b = (LinkButton)sender;
    string z = b.ID;
    dg.DataSource = dsList.Tables["companylist"].DefaultView;
    getDetail(z,mId,mTypeFlag,mHeadFlag,mCardId,mIp);
    }
      

  2.   

    上面贴的有点乱
    代码太多,部分代码如下:
    private void btnQuery_Click(object sender, EventArgs e)
    {
    if (txtName.Text.Trim() != String.Empty || txtCode.Text.Trim() != String.Empty)
      getListInfo(txtName.Text, txtCode.Text);
    else
      lblInfo.Text = "<font color=#800000>Error!!!</font>";
    }private void getListInfo(string EnterpriseName, string EnterpriseCode)
    {
    string strErr;
    dsList = clsEB.GetListInfo(EnterpriseName,EnterpriseCode, out strErr);
    if (dsList==null)
    {
      this.Controls.Add(new LiteralControl(strErr));
    }
    else 
    {
      max = dsList.Tables["companylist"].Rows.Count;
      lbtnName = new LinkButton[max];  for (int i=0; i<max; i++)
      {
        lbtnName[i] = new LinkButton();
        lbtnName[i].Text = dsList.Tables["companylist"].Rows[i][1].ToString();
        lbtnName[i].ID =  dsList.Tables["companylist"].Rows[i][0].ToString();
        lbtnName[i].Click += new EventHandler(lbtnName_Click);
      }  dg.ItemCreated += new DataGridItemEventHandler(dgList_ItemCreated);
      dg.ItemDataBound += new DataGridItemEventHandler(dgList_ItemDataBound);
      dg.Width = this.Width;
      dg.DataSource = dsList.Tables["companylist"].DefaultView;
      dg.DataBind();
    }private void dgList_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
      if (e.Item.Cells.Count>0)
      {
        for (int i=0; i<max; i++) 
        {
          if (e.Item.Cells[0].Text == lbtnName[i].ID)
          {
    e.Item.Cells[1].Controls.Add ((lbtnName[i]);
          }
        }
      }
    }//这个根本没运行,怎么回事?
    private void lbtnName_Click(object sender, EventArgs e)
    {
      LinkButton b = (LinkButton)sender;
      string z = b.ID;
      dg.DataSource = dsList.Tables["companylist"].DefaultView;
      getDetail(z,mId,mTypeFlag,mHeadFlag,mCardId,mIp);
    }