就是在grid中显示数据库中内容或是在显示搜索数据库中的内容的时候加上一列当然网格的编号呢?还有就是可不可以隐藏掉数据库中的弄一列不在GRID中显示呢?

解决方案 »

  1.   

    当然可以啊.
    你的是winform还是 webform?
      

  2.   

    可以在查询的时候加上
    select identity(int,1,1) * into #tmp  from table 
    select * from #tmp
    drop table #tmp
    再绑定
    就会有一列编号了
      

  3.   

    http://www.blueidea.com/tech/program/2003/1295.asp
      

  4.   

    http://zqs.cnblogs.com/archive/2006/01/24/322668.aspx
      

  5.   

    1可以把行编号放到行表头里
    2用DataGrid1.Columns[n].Visible隐藏第n+1行
      

  6.   

    1可以把行编号放到行表头里
    2用DataGrid1.Columns[n].Visible隐藏第n+1行
      要是隐藏列呢?
      

  7.   

    public static void AutoNumber(DataTable table, string field)
    {
    int number = 1;
    foreach(DataRow row in table.Rows)
    {
    row[field] = number++;
    }
    }
      

  8.   

    把在sql语句中把GetDate()处理一下保存就可以了。
      

  9.   

    DataGrid1.Columns[n].Visible隐藏第n+1列
    前面写错了
      

  10.   

    getdate()可以获取当前时间
    感谢.那么如何保存到数据库中呢?只要改一下SQL语句就可以么?我先试试~
      

  11.   

    随便举个例子insert into (uid,docdate) values(newid(),getdate())
      

  12.   

    DateTime dt=DateTime.Now;strQuery="insert into (uid,datetime) values(id,'"+dt.ToString()+"')";
      

  13.   

    随便举个例子insert into (uid,docdate) values(newid(),getdate())
    谢谢
    这句看明白了!!
      

  14.   

    用SQL语句生成编号再绑定,效率要高些
      

  15.   

    用SQL语句生成编号再绑定,效率要高些
    如何做呢??
      

  16.   

    DataGrid1.Columns[n].Visible隐藏第n+1列
    前面写错了
      
    不对呀.
    grid中没有grid.Columns这个属性啊
      

  17.   

    DataSet ds = new DataSet(); 
     
         da.Fill(ds, "Employees"); 
      
         // Hide the column and attach dataset's DefaultView to the datagrid control 
     
         ds.Tables["Employees"].Columns["LastName"].ColumnMapping = MappingType.Hidden; 
     
         dataGrid1.DataSource = ds.Tables["Employees"]; 或者用DataGridTableStyle ,将需要列宽度设为0
    dataGrid1.DataSource = _dataSet.Tables["customers"]; 
     
    DataGridTableStyle dgts = new DataGridTableStyle(); 
     
    dgts.MappingName = "customers"; 
     
    dataGrid1.TableStyles.Add(dgts); 
      
    //...... 
      
    //method to set a column with by colnumber 
     
    public void SetColWidth(DataGridTableStyle tableStyle, int colNum, int width) 
     

     
         try 
     
         { 
     
              tableStyle.GridColumnStyles[colNum].Width = width; 
     
              tableStyle.DataGrid.Refresh(); 
     
         } 
     
         catch{} //empty catch .. do nothing 
     
      

  18.   

    在控件里面都可以设置的,column的visible设置为false就隐藏了,在grid的databound里面写添加序号列的语句就可以实现增加一个序号列。
      

  19.   

    <asp:TemplateColumn>
         <ItemTemplate>  <%# Container.ItemIndex + 1%>
         </ItemTemplate>
    </asp:TemplateColumn>
      

  20.   

    在控件里面都可以设置的,column的visible设置为false就隐藏了,在grid的databound里面写添加序号列的语句就可以实现增加一个序号列。
    没看到啊.可不可以再说得详细些
      

  21.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {

         if(e.Item.ItemIndex != -1)
         {
    int orderID = e.Item.ItemIndex + 1;
             e.Item.Cells[0].Text = orderID.ToString();
         }
    }
      

  22.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {

         if(e.Item.ItemIndex != -1)
         {
    int orderID = e.Item.ItemIndex + 1;
             e.Item.Cells[0].Text = orderID.ToString();
         }
    }你好.
    在VS2005中没有DataBound这个事件呀
      

  23.   

    欢迎光监点石成金网 http://www.boxigroup.com 网站提供web开发(j2ee .net asp php javascript、c#等) c/s开发(delphi、vb、vc、pb、cb等) 数据库开发(oracle、sqlserver、db2、access、mysql、Postgresql、informix)等学习资料,希望能为你解决燃眉之急 ,请把本网站加入收藏夹,以备不时查询之需 bs+cs讨论群(9638134)
      

  24.   

    這麼多好用的方法,怎麼還不結貼
    插入时间可以了.可是隐藏其中的一列,然后再显示一列grid中的编号.
    这个功能还没实现呢.等高手帮忙
      

  25.   

    以前偶是这么做的,在grid中加一Label列,然后在DataBound中通过FindControl找到对象,然后赋值。这样就OK了!private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {     if(e.Item.ItemIndex != -1)
         {
    int index = e.Item.ItemIndex + 1;
    Label indexLabel = e.Item.Cells[0].FindControl("LabelName") as Label;
          indexLabel.Text = index.ToString();
         }
    }当然了,你也可以在存储过程中直接将列号查出再绑定!这是对分页方法中通过表变量或临时表来做为缓存的方法来说的,因为此时表变量或临时表可以添加一个自动增加的列!
      

  26.   

    纯MARK,
    楼主,不要给我分啊!
      

  27.   

    没用过这个方法,但应该可行,而且要简单好多,建议LZ试试看---------------------------------------
     zhjg136(天星) ( ) 信誉:100  2006-8-19 9:18:18  得分: 0  
      
    <asp:TemplateColumn>
         <ItemTemplate> <%# Container.ItemIndex + 1%>
         </ItemTemplate>
    </asp:TemplateColumn>  
     
      

  28.   

    没用过这个方法,但应该可行,而且要简单好多,建议LZ试试看---------------------------------------
     zhjg136(天星) ( ) 信誉:100  2006-8-19 9:18:18  得分: 0  
      
    <asp:TemplateColumn>
         <ItemTemplate> <%# Container.ItemIndex + 1%>
         </ItemTemplate>
    </asp:TemplateColumn>感谢你的回答不过我的是windows程序呀.
    有没有相应的方法呢?
      

  29.   

    以前偶是这么做的,在grid中加一Label列,然后在DataBound中通过FindControl找到对象,然后赋值。这样就OK了!private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {     if(e.Item.ItemIndex != -1)
         {
    int index = e.Item.ItemIndex + 1;
    Label indexLabel = e.Item.Cells[0].FindControl("LabelName") as Label;
          indexLabel.Text = index.ToString();
         }
    }当然了,你也可以在存储过程中直接将列号查出再绑定!这是对分页方法中通过表变量或临时表来做为缓存的方法来说的,因为此时表变量或临时表可以添加一个自动增加的列!这个也是WEB的吧?
    没找到DataBound呀
      

  30.   

    可以的lz,可以在作dataset的时候加上一列,或者在sql语句里处理
      

  31.   

    可以的lz,可以在作dataset的时候加上一列,或者在sql语句里处理
      
    请指点
      

  32.   


    可以的lz,可以在作dataset的时候加上一列  
    请指点
    ----------------------------------------------------晕倒 看来你还是没看懂回复内容public static void AutoNumber(DataTable table, string field)
    {
    int number = 1;
    foreach(DataRow row in table.Rows)
    {
    row[field] = number++;
    }
    }
      

  33.   


    可以的lz,可以在作dataset的时候加上一列  
    请指点
    ----------------------------------------------------晕倒 看来你还是没看懂回复内容public static void AutoNumber(DataTable table, string field)
    {
    int number = 1;
    foreach(DataRow row in table.Rows)
    {
    row[field] = number++;
    }
    }
     嗯嗯,这回明白点了.我刚学比较笨,别笑话我哦^_^还有就是隐藏一列呢?
    如何写呢?
      

  34.   

    public static void AutoNumber(DataTable table, string field)
    {
    int number = 1;
    foreach(DataRow row in table.Rows)
    {
    row[field] = number++;
    }
    }
    ---------------------------------------------
    这个方法行的啊
      

  35.   

    public static void AutoNumber(DataTable table, string field)
    {
    int number = 1;
    foreach(DataRow row in table.Rows)
    {
    row[field] = number++;
    }
    }
    ---------------------------------------------
    这个方法行的啊
    这个没太明白可以解释一下么?
    这个 field是做什么用的?
      

  36.   

    select identity(int,1,1) * into #tmp  from table 
    select * from #tmp
    drop table #tmp
    上面这就有了
      

  37.   

    select identity(int,1,1) * into #tmp  from table 
    select * from #tmp
    drop table #tmp
    上面这就有了
      
    SQL语句??
      

  38.   

    <asp:TemplateColumn HeaderText="编号">
    <HeaderStyle HorizontalAlign="Center" Width="40px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <%# grid.CurrentPageIndex*grid.PageSize+grid.Items.Count+1 %>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  39.   

    晕。是WIN程序不是WEB程序。不过感谢楼上的解答
      

  40.   

    winform直接从table里面加上一列就行了
    再绑定
      

  41.   

    winform直接从table里面加上一列就行了
    再绑定
    那如何添加编号呢?
      

  42.   

    用2005的话,用DataGridView吧。Rows[i].HeaderCell.Value可以设置行标题。
    写个for循环就可以了。