private void Form1_Load(object sender, System.EventArgs e)
{
 if(!Page.IsPostBack)
   {
     oleDbDataAdapter1.Fill(dataSet11,"c_chargekind");
     Point p = new System.Drawing.Point(textBox1.Left,textBox1.Bottom);
     dataGrid1.Location = p;
     dataGrid1.Visible = false;
   }
}

解决方案 »

  1.   

    把Form1_Load中的代码:写到:if(!IsPostBack)中!
      

  2.   

    谢谢两位 softye(阿申) page需哪个命名空间
      

  3.   

    把Form1_Load中的代码:写到:if(!IsPostBack)中!
    我怎么没找到IsPostBack方法
      

  4.   

    seeHow to capture the Double Click event in a DataGrid?http://www.aspalliance.com/das/datagriddblclick.aspx
      

  5.   

    IsPostBack是webForm的,如果是winform就用不了的
      

  6.   

    1、过滤后要重新绑定的。
    2、在InitializeComponent()里面添加
    this.dataGrid1.Click += new System.EventHandler(this.dg_click);这是处理方法
    private void dg_click(object sender, System.EventArgs e)
    {
    label1.Text="aaaaa";
    }
      

  7.   

    to Abac(~~) 还是不响应呀
      

  8.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
    // e.Item.Attributes["OnMouseOut"]=
    // "javascript:bgColor='"+ "Red" +"';";
    e.Item.Attributes["OnMouseOver"]=
    "javascript:bgColor='"+ "#F6F6F6" + "';";
    e.Item.Attributes["OnMouseOut"]=
    "javascript:bgColor='"+ "White" + "';";
    e.Item.Attributes.Add("OnDblClick",Page.GetPostBackClientHyperlink((System.Web.UI.WebControls.LinkButton
    )e.Item.Cells[0].Controls[0],"")) ;
    // e.Item.Attributes["onclick"]=
    // "javascript:alert('hello zhengjun')";
    }
    }
      

  9.   

    有些乱,自己慢慢看吧注意: 要把代码放到 DataGrid 的ItemDataBound 事件里
    另外代码里连接的是DataGrid的“编辑”按钮
    “编辑”按钮在DataGrid的第一列
      

  10.   

    为何datagrid的keydown和keypress事件不响应?
    急。
      

  11.   

    在InitializeComponent()里面加上:
    this.dataGrid1.KeyDown +=new System.EventHandler(this.keydown);
    this.dataGrid1.KeyPress +=new System.EventHandler(this.keypress);我测试可以响应的
      

  12.   

    to  Abac(~~):
    谢谢你,我想你的方法应该是正确的但我就是实现不了,
    this.dataGrid1.KeyDown +=new System.EventHandler(this.dataGrid1_KeyDown);
    private void dataGrid1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
      MessageBox.Show("dsfsdfsd");
    }
    错误为
    D:\c#_cx\c#cx\select-datagrid\Form1.cs(171): 方法“select_datagrid.Form1.dataGrid1_KeyDown(object, System.Windows.Forms.KeyEventArgs)”与委托“void System.EventHandler(object, System.EventArgs)”不匹配
    这样写
    this.dataGrid1.KeyDown +=new System.EventHandler(this.KeyDown);
    下面该怎样写?
      

  13.   

    我遇到和你一样的问题,解决方法简单地吐血:
    不要用DataGrid的click事件,用CurrentCellChanged事件,外加用CurrentRowIndex判断当前行是否发生改变就可以了,so easy,可是也花了我不少时间:(
      

  14.   

    datagrid中要想所点即所得,只能在对数据不作任何处理的时候,这些处理包括过滤、排序等,不包括删除、增加。currentrowindex从0开始。建议不要使用click事件,而使用mouseup事件,因为click时不能定位鼠标的位置,而mouseup时可以。这在hittest中要得到。
      

  15.   

    再次跟贴,你的keydown参数应该这样写:
    private void dataGrid1_KeyDown(object sender, System.EventArgs e)
    {
      MessageBox.Show("dsfsdfsd");
    }
    我的理解System.Windows.Forms.KeyEventArgs 是对form的单击事件参数,而不是datagrid的,System.EventArgs可包含所有的参数信息。
      

  16.   

    this.dataGrid1.KeyDown +=new System.EventHandler(this.dataGrid1_KeyDown);
    private void dataGrid1_KeyDown(object sender, System.EventArgs e)
    {
      MessageBox.Show("dsfsdfsd");
    }
     我按以上的方法写显示错误:无法将类型“System.EventHandler”隐式转换为“System.Windows.Forms.KeyEventHandler
    不好意思,Abac(~~) 你能给我详细解释一下吗?