你可以用datatable的
db.Tables["biao"].Rows.Count

解决方案 »

  1.   

    1.SelectedCount?还是所有的Row的Count?要是所有的,反正你的DataGrid数据源是从DataTable而来,用DataTable的Row.Count就行了;2.可以通过设置 DataGridTableStyle来设置DataGrid的列的宽度和其他属性,不过要得的它的MappingName一定要和你的数据源的DataSet的Table的Name一致,不然show不出效果;3.如果合适的话可以通过设置控件的Dock属性来改变,如果这样不合适,那么你也可以在窗体的ReSize事件中添加代码来规定啊。
      

  2.   

    你说的不是大小,而是位置,那么也可以在ReSize中重新确定其Location属性
      

  3.   

    第二个问题的代码:DataGridTableStyle dgts=new DataGridTableStyle();
    dgts.MappingName="Title"; //这个一定要与数据源DataSet中对应的Table的name相同;
    dgts.AllowSorting=false;DataGridTextBoxColumn dgtbColumn;
    dgtbColumn=new DataGridTextBoxColumn();
    dgtbColumn.MappingName="Department";
    dgtbColumn.HeaderText="单位";
    dgtbColumn.Width=dg.Width-39;
    dgts.GridColumnStyles.Add(dgtbColumn);//如果还有其他列,重复上面这六行代码dg.TableStyles.Clear();  //dg为你的DataGrid的name
    dg.TableStyles.Add(dgts);
      

  4.   

    谢谢Edison621.
    第一个问题不是所有的Record,而是被选中的Records.而且为何没有多选?因为想多选几条删除掉。
    第二个我用过DataGridTableStyle来设置但是没有效果,不知道是不是你所说的不一致的原因,我再查查。
    第三个估计需要动手写代码了。
      

  5.   

    我是用数据绑定的。 SetDataBinding。。自动显示列名的。
      

  6.   

    1.使用DataSet.Table["tablename"].Rows.Count
    2.使用DataGridTableStyle
    3.可以使用panel控件以及控件的dock,fill属性来实现!
      

  7.   

    关于第二个,我测试了一下,超过DataGrid的宽度了,每一列都比较大。
    而且不能随窗体的放大缩小而一起变化列的距离。
      

  8.   

    1、自己数应该是可以的,除此外的方法就不是很清楚了。关注中……
       这个好象只有自己控制了。呵呵,也关注……
    2、你继承的A窗体是不是将dataGrid的Modifiers属性是不是没有改成protected或者public啊!默认的是private,那样被继承了是不能改变属性的。
    3、这个我想也只有写代码了!
      

  9.   

    2。实在不行就把DataGrid的Dock设置为Fill,设置列宽的代码写成一个方法,将各列的宽度赋成DataGrid.Width的几分之一之类的,然后在窗体的ReSize事件下写代码,那么窗体大小改变时列宽肯定会按照你写的那个比例变化。