1: 绑定:datagrid1.datasource = ds; datagrid1.databind();
2: 不知道你是怎么对整行设置的,我所以知道的方式只有对每一个单元格进行设置放才有效
比如:
 foreach(datagridItem dg in datagrid1.items)
 {
   dg.cells[index].attribute["ondoubleclick"]=...
 }

解决方案 »

  1.   

    第一个问题:
    ds.fill(ds,"BasicInfo")
    datagrid1.datasource = ds
    datagrid1.datamember = "BasicInfo"
      

  2.   

    定义:
    private void TextBoxDouleClick(object sender,System.EventArgs e)
    {
    ...
    }绑定:
    dbGrid.DataSource = dv;
    dbGrid.TableStyles.Clear();
    DataGridTableStyle ts1= new DataGridTableStyle();
    ts1.MappingName = "TABLENAME";  TxtCol =new DataGridTextBoxColumn();
    TxtCol.MappingName = "ORDERNO";
    TxtCol.HeaderText ="序号";
    TxtCol.Width = 100;
    TxtCol.TextBox.DoubleClick += new System.EventHandler(TextBoxDouleClick);
    ts1.GridColumnStyles.Add(TxtCol);...dbGrid.TableStyles.Add(ts1);
      

  3.   

    第一个问题up,不知你的DataGrid是否只读,如果是只读,在窗体构造器里,加一句:
    this.datagrid1.beginInit();试一试。不知道你选中一行的效果是怎么做的,我选中一行:
    this.datagrid1.selectedIndex = this.datagrid1.currentIndex;
      

  4.   

    自定义一个DataGridColumnStyle,允许其调用外埠方法,此外埠方法可以当作自定义类的参数传入——我是这样完成的