DataGrid动态添加ButtonColumn实现功能出错问题.
如下面代码:
<script runat="server" language="C#" >
public void Page_Load()
{    ButtonColumn bc = new ButtonColumn();
    bc.ButtonType = ButtonColumnType.PushButton;
    bc.CommandName = "Select";
    bc.Text = "选择2";
    MyDataGrid.Columns.Add(bc);
    
  if (!(Page.IsPostBack))
  { 
    MyDataGrid.DataSource = BackTable();
    MyDataGrid.DataBind();  }    
}
protected System.Data.DataTable BackTable()
{
    System.Data.DataTable dt = new System.Data.DataTable("dt_1");
    dt.Columns.Add("strA");
    dt.Columns.Add("strB");
    dt.Columns.Add("strC");
    dt.Rows.Add(new string[] { "1", "str1", "str1" });
    dt.Rows.Add(new string[] { "2", "str2", "str2" });
    dt.Rows.Add(new string[] { "3", "str3", "str3" });
    dt.Rows.Add(new string[] { "4", "str4", "str4" });
    dt.Rows.Add(new string[] { "5", "str5", "str5" });
    return dt;
}
protected void MyDataGrid_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void MyDataGrid_PageIndexChanged(object sender, DataGridPageChangedEventArgs e)
{
    MyDataGrid.CurrentPageIndex = e.NewPageIndex;
    MyDataGrid.DataSource = BackTable();
    MyDataGrid.DataBind();
}
</script>
<form id="Form1" method="Post" runat="server">
<asp:DataGrid id="MyDataGrid" AllowPaging="true" PageSize="3"
 OnPageIndexChanged ="MyDataGrid_PageIndexChanged"
 OnSelectedIndexChanged="MyDataGrid_SelectedIndexChanged" runat="server">
<SelectedItemStyle BackColor="#E2DED6" ForeColor="#333333" Font-Bold="True"></SelectedItemStyle>
<Columns>
<asp:ButtonColumn CommandName="Select" Text="选择1" ButtonType="PushButton"></asp:ButtonColumn>
</Columns>
</asp:DataGrid> 
</form>选择2是动态添加的我本来是想来实现 [选择1]的效果,但发现点一下选择2按钮就会消失,这是为什么啊,我每次Load的时候都添加都DataGrid控件里面去了啊.