私は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>
これは、GridViewを更新するために使用しているListBoxメソッドです。
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();
}
}
}
しかし、ListBoxから値を選択しても、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();
}