2003中的datagrid添加了两个按纽列中的选择
比如说一个文本属性是A,另一个是B
我点击了A这一个,如何,才能知道我电击了它??
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
      String aa=这的代码该如何写呢??
}

解决方案 »

  1.   

    你应该使用不同的命令名(CommandName)
      

  2.   

    例如:
    <asp:ButtonColumn Text="选择A" CommandName="Select1"></asp:ButtonColumn>
    <asp:ButtonColumn Text="选择B" CommandName="Select2"></asp:ButtonColumn>
    *****************************
     private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
            {
                if(e.CommandName == "Select1")
                {
                    this.DataGrid1.SelectedIndex = e.Item.ItemIndex;
                    //点击了按钮A
                }
                else if(e.CommandName == "Select2")
                {
                    this.DataGrid1.SelectedIndex = e.Item.ItemIndex;
                    //点击了按钮B
                }
            }
      

  3.   

    可以:
     private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
                if(e.Item.ItemIndex>-1)
                {
                    DataRowView row = (DataRowView)e.Item.DataItem;
                    LinkButton lbtn = e.Item.Cells[0].Controls[0] as LinkButton;
                    if(row["field1"].ToString() == "123")
                    {
                        lbtn.Text = "AAAAA";
                        lbtn.CommandName = "Select1";
                    }
                    else 
                    {
                        lbtn.Text = "BBBBB";
                        lbtn.CommandName = "Select2";
                    }
                }
            }