我假设你所说的单击是指首次次点击,双击是再次点击。
而且你的Framework是正式版。
Html和程序(cs)分别粘贴,请将其粘至你的工程中。

解决方案 »

  1.   

    下面的代码粘到aspx页的<form></form>标签之间
    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 14px; POSITION: absolute; TOP: 14px" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:BoundColumn DataField="Num" HeaderText="序号"></asp:BoundColumn>
    <asp:BoundColumn DataField="Other" HeaderText="其他"></asp:BoundColumn>
    <asp:ButtonColumn Text="Click me to add" CommandName="add"></asp:ButtonColumn>
    </Columns>
    </asp:DataGrid>
    <asp:DataGrid id="DataGrid2" style="Z-INDEX: 102; LEFT: 603px; POSITION: absolute; TOP: 15px" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:BoundColumn DataField="Num" HeaderText="序号"></asp:BoundColumn>
    <asp:BoundColumn DataField="Color" HeaderText="颜色"></asp:BoundColumn>
    </Columns>
    </asp:DataGrid>
      

  2.   

    下面的代码粘到代码页中。
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    namespace UddiService.AgentPage
    {
    /// <summary>
    /// test 的摘要说明。
    /// </summary>
    public class test : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid2;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    private void Page_Init(object sender, System.EventArgs e)
    {

    } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);
    this.Load += new System.EventHandler(this.Page_Load);
    this.Init += new System.EventHandler(this.Page_Init); }
    #endregion
    private void Page_Load(object sender, System.EventArgs e)
    { if(!Page.IsPostBack)
    {
    DataTable dt = new DataTable("SelectedItem");
    dt.Columns.Add("Num");
    dt.Columns.Add("Color");
    Session["SelectedItem"] = dt;
    } DataGrid1.DataSource = GenerateTestData();
    DataGrid1.DataBind(); }
    private DataTable GenerateTestData()
    {
    DataTable TestTable = new DataTable("TestData");
    TestTable.Columns.Add("Num");
    TestTable.Columns.Add("Other");
    Object[] values = new Object[2];
    for(int i=0;i<10;i++)
    {
    values[0] = i;
    values[1] = "Nothing but test data";
    TestTable.Rows.Add(values);
    }
    return TestTable;
    } private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    int iSelected = Convert.ToInt16(e.Item.Cells[0].Text);
    DataTable dt = (DataTable)Session["SelectedItem"];
    if(e.CommandName == "add")
    {
    int HasAdd = -1;
    for(int i=0;i<dt.Rows.Count;i++)
    {
    if(Convert.ToInt16(dt.Rows[i][0]) == iSelected) 
    {
    HasAdd = i;
    break;
    }
    }
    if(HasAdd == -1)
    {
    Object[] values = new Object[2];
    e.Item.ForeColor  = Color.Green;
    values[0] = iSelected;
    values[1] = e.Item.ForeColor;
    ((DataTable)Session["SelectedItem"]).Rows.Add(values);
    }
    else
    {
    ((DataTable)Session["SelectedItem"]).Rows.RemoveAt(HasAdd);
    e.Item.ForeColor  = Color.Black;
    }
    DataGrid2.DataSource = (DataTable)Session["SelectedItem"];
    DataGrid2.DataBind();
    } }
    }
    }
      

  3.   

    非常抱歉,我用的是WINFORM的编程,上面的代码在我的程序上用不上,所以我恳请各位高手能再帮我一把!
    感激不尽!!!解决后我将马上给分!!!!
      

  4.   

    程序的思想还不是一样?你是求代码(code)还是求解决方法(solution)?要是求代码,恐怕我很难做到和你要求的完全一样。sigh,就当一个小时给自己充电了。