我在web页上放了一个DataGrid,用Columns属性将最后一列设为按钮列弄了个选择按钮,用户按没按这按钮我该通过那个事件获得,获得后我怎样知道他按了DataGrid里第几行的按钮并把那一行的各列取到变量里?

解决方案 »

  1.   

    Select 事件,
    SelectedIndex是对应的行号,
    SelectedItem是选择的行
      

  2.   

    事件名称为:SelectedIndexChanged
      

  3.   

    DataGrid1.SelectedItem.后面该是什么呢?
    我在SelectedIndexChanged事件里随便写了几句语句然后设了断点,但按按钮时怎么不进事件啊
      

  4.   

    如下要在datagrid里设置OnItemCommand事件,事件名你自己定,跟后台一致久可以了,然后模板列加个button,设置button的CommandName属性,这里设置为"Compare",然后在后台根据CommandName来判断选中了那个button<asp:DataGrid id="DataGrid1" runat="server" OnItemCommand="Compare">
    <Columns>
            <asp:TemplateColumn HeaderText="比较">
                <ItemTemplate>
                      <asp:Button id="Button2" runat="server" Text="比较" CommandName="Compare"></asp:Button>
                 </ItemTemplate>
             </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>protected void Compare(object sender,DataGridCommandEventArgs e)
    {
                switch(Convert.ToString(((Button)e.CommandSource).CommandName))
                {
                    case "Compare":                    
                        DataSet ds = new DataSet();
                        string sql="select * from StreamXml where UserID='"+e.Item.Cells[0].Text.ToString()+"'";
                      break;
                }
    }
      

  5.   

    真是太谢谢你们了syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*) -------------谢谢谢谢singlepine(小山)----------------------------------------------谢谢谢谢