使用DataTable来绑定DataGrid,
DataTable 的数据由Hashtable中获取

解决方案 »

  1.   

    Seeko0(阿 枫(www.vivichen.com)) 
    说得没错,你就自己用程序来生成一个与datagrid对应的datatable,最后用这个datatable做数据源。
    透过这个新的datatable来控制datagrid显示,没必要直接控制datagrid比如:
    private void Form1_Load(object sender, System.EventArgs e)
    {
                               // 自己订制一个datatable.
    codeDataTable = new DataTable("CodeTable");
    codeDataTable.Columns.Add("Modifier");
    codeDataTable.Columns.Add("PropertyName");
    codeDataTable.Columns.Add("Type");
    codeDataTable.Columns.Add("Comment");
    dataGrid1.DataSource = codeDataTable;
    comboBox1.Text = comboBox1.Items[0].ToString();
    }
    // 操作这个datatable.
    private void dataGrid1_MouseDown(object sender, MouseEventArgs e)
    {
    DataGrid myGrid = (DataGrid) sender;
    DataGrid.HitTestInfo hitInfo = myGrid.HitTest(e.X, e.Y);
    int col = hitInfo.Column;
    int row = hitInfo.Row;
    if( hitInfo.Type == DataGrid.HitTestType.Cell )
    {
    if( row > codeDataTable.Rows.Count - 1 || ( row == 0 && codeDataTable.Rows.Count == 0) )
    {// 添加一个新行。
    string[] defaultValue = {this.defaultModifier , this.defaultPropertyName , this.defalutType };
    codeDataTable.Rows.Add(defaultValue);
    myGrid.Update();
    }
    } }//其实,操作datatable比操作datagrid里的数据简单多了。
      

  2.   

    绝对不可以的,如果可以了就不是它了,你手工构建dataset||datatable还是要