我在 datagrid 上加了个按钮列//添加选择列
ButtonColumn bc = new System.Web.UI.WebControls.ButtonColumn();
bc.HeaderText = "选择";
bc.CommandName = "Select";
bc.Text = "<img border='0' src='Images/view.gif' />";
this.dag_Gateways.Columns.Add(bc);再绑定,之前已经给定了数据源并添加了BoundColumn。this.dag_Gateways.DataBind();而且已经添加了selectedindexchanged事件了
this.dag_Gateways.SelectedIndexChanged += new System.EventHandler(this.dag_Gateways_SelectedIndexChanged);为什么调试时点击这个按钮,不能执行这个事件,用itemcommand也不行生成的代码也是这样的<a href="javascript:__doPostBack('dag_Gateways$_ctl4$_ctl0','')"> <script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["SendGateway"];
}
else {
theform = document.SendGateway;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script> //咋整啊

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5699/5699128.xml?temp=.5055811//这是有个有趣又烦人的FileSystemWatchar问题
      

  2.   

    你要调用的是脚本事件,给它加onclick才行
      

  3.   

    是问题不清楚还是分太少哦,咋没人看看呢;问题很清楚了,就是动态添加的按钮列没能触发dataGrid的SelectedIndexChanged
      

  4.   

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName = SelectComand)
            {
                GridView1.SelectedIndex = e.CommandSource;
                //是不是这个意思?
            }
        }
      

  5.   

    问题很清楚了,就是动态添加的按钮列没能触发dataGrid的SelectedIndexChanged=========不用喊了,没人救得了你 :P很正常,即使是老鸟,对于动态添加动态也无法自由控制之 ....建议不使用此方式非要使用,建议先仔细阅读
     
    创建动态数据输入用户界面
    http://www.microsoft.com/china/msdn/library/webservices/asp.net/dnasppDynamicUI.mspx#ELC
      

  6.   

    关键是要深刻理解 ASP.NEt 控件和页面事件生命周期 顺序