在Winform中 Datagrid怎样自动显示行号?

解决方案 »

  1.   

    datagrid里面有自带的组件可以显示出来的
      

  2.   

    datagrid有这个属性的,自己找下吧
      

  3.   

    回复人: Ordin(郁闷呀) ( ) 信誉:100  2005-07-31 18:59:00  得分: 0  
     
     
       datagrid有这个属性的,自己找下吧
      
    --------------------------------------------------- M$ 标准的datagrid 没有这个属性吧一些第3方的控件就有
      

  4.   

    在DataTable中加一列,循环递增填充数据,然后再DataTable绑定到DataGrid就可以了
      

  5.   


    private void dataGrid1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
       int intRow =0; 
       int intCellHehight = dataGrid1.GetCellBounds(intRow, 0).Height + 1; 
       int intY = dataGrid1.GetCellBounds(intRow, 0).Top + 2; 
    int intY0=intY-intCellHehight-1;//**********加新语句
      //e.Graphics.DrawString("行号", dataGrid1.Font, new SolidBrush(Color.Black), 5, intY-intCellHehight-1); //把"行号" 换成你的内容*********移到下面的环后面
        CurrencyManager cm = (CurrencyManager) this.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember]; 
     
        while(intY < dataGrid1.Height - intCellHehight && intRow < cm.Count) 
      { 
       //get & draw the header text... 
       string text = string.Format("{0}", (intRow+1)); //把(intRow+1)换成你的内容
       e.Graphics.DrawString(text, dataGrid1.Font, new SolidBrush(Color.Black), 12, intY); 
       intY += intCellHehight; 
       intRow++; 
      } 
       e.Graphics.DrawString("序号", dg.Font, new SolidBrush(Color.Black), 5, intY0); 
    }
      

  6.   

    dt.Columns.Add("INDEX");
    dt.Columns["INDEX"].AutoIncrement = true; DataGrid1.DataSource = dt;
    DataGrid1.DataBind();
      

  7.   

    private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.SelectedItem || e.Item.ItemType == ListItemType.EditItem)
    {
    e.Item.Cells[1].Text = Convert.ToString(MyDataGrid.CurrentPageIndex*15+e.Item.ItemIndex+1);

    }
    }