2012-07-24 35 views
0

我有一个GridView,GridView控件没有得到刷新在列表框中选择

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
      DataSourceID="SqlDataSource1"> 
      <Columns> 
       <asp:BoundField DataField="LastName" HeaderText="LastName" 
        SortExpression="LastName" /> 
       <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
        SortExpression="FirstName" /> 
       <asp:BoundField DataField="ProgramName" HeaderText="ProgramName" 
        SortExpression="ProgramName" /> 
      </Columns> 
</asp:GridView> 

这是ListBox的方法,我使用刷新GridView控件,

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) 
    {   
     if (ListBox1.SelectedValue == "Computer Programmer") 
     { 
      DataSet test = GetStudentByProgramID(1); 
      if (test.Tables.Count > 0) 
      { 
       GridView1.Columns.Clear(); 
       GridView1.DataSource = test; 
       GridView1.Attributes.Add("style", "table-layout:fixed"); 
       //ISBNColumn 
       BoundField LastName = new BoundField(); 
       //LastName.DataField = test.Tables.r.ColumnName; 
       LastName.HeaderText = "ISBN"; 
       LastName.ItemStyle.HorizontalAlign = HorizontalAlign.Center; 
       GridView1.Columns.Add(LastName); 
       //CopyNumberColumn 
       BoundField FirstName = new BoundField(); 
       //FirstName.DataField = myitems.Items.CopyNumberColumn.ColumnName; 
       FirstName.HeaderText = "Copy Number"; 
       FirstName.ItemStyle.HorizontalAlign = HorizontalAlign.Center; 
       GridView1.Columns.Add(FirstName); 
       GridView1.DataBind(); 
      } 

     } 
    } 

但GridView控件没有得到刷新时我从列表框中选择值。我在这里犯的任何错误? 也是我的列表框是越来越充满这样的,

DataSet ab = GetProgramList(); 
     ListBox1.Items.Clear(); 


     if (ab.Tables[0].Rows.Count > 0) 
     { 
     ListBox1.DataSource = ab; 
     ListBox1.DataTextField ="ProgramName"; 
     ListBox1.DataValueField ="ProgramName"; 
     ListBox1.DataBind(); 
     } 
+2

失踪Listbox1.AutoPostback =真的吗? – Anuraj 2012-07-24 03:36:43

+0

是您的ListBox1_SelectedIndexChanged获取调用尝试把一个突破点,看它是否得到叫 – 2012-07-24 03:37:01

+0

让我试试。 – unknownsatan 2012-07-24 03:38:10

回答

2

确保您的列表已

AutoPostBack="True"

<asp:ListBox id="ListBox1" 
       Rows="4" 
       AutoPostBack="True" 
       SelectionMode="Single" 
       runat="server"> 

if(!IsPostBack) 
{ 
     DataSet ab = GetProgramList(); 
     ListBox1.Items.Clear(); 


     if (ab.Tables[0].Rows.Count > 0) 
     { 
     ListBox1.DataSource = ab; 
     ListBox1.DataTextField ="ProgramName"; 
     ListBox1.DataValueField ="ProgramName"; 
     ListBox1.DataBind(); 
     } 
} 
+0

看看我编辑的问题。 – unknownsatan 2012-07-24 03:47:40

+0

是啊,你应该有一个列表框的 2012-07-24 03:49:22

+0

是的,我从数据集填充列表框正如我在编辑的问题表现出来了。 – unknownsatan 2012-07-24 03:51:16

相关问题