2011-01-22 16 views
7

Tengo una vista de cuadrícula. Tiene dos columnas encuadernadas. Necesito tener una columna de Número de serie como la primera columna.Para agregar un número de serie como la primera columna en un GridView

¿Cómo puedo hacer eso? Gracias de antemano

+0

¿Cómo se calcula el número de serie a partir de los datos? –

+0

Gracias Peter. El número de serie no se calcula a partir de los datos. Simplemente tiene que incrementarse en pasos de 1 a partir de 1. – Ananth

Respuesta

3

Crear una tabla de datos con dos columnas utilizan una primera columna como autoincrement como verdadera y AutoIncrementStep = 1 como

DataTable _test = new DataTable(); 
DataColumn c = new DataColumn("sno", typeof(int)); 
c.AutoIncrement = true; 
c.AutoIncrementSeed = 1; 
c.AutoIncrementStep = 1; 
_test.Columns.Add(c); 
_test.Columns.Add("description"); 
gvlisting.DataSource = _test; 
0

use el índice de la fila de un campo encuadernado o en el límite de datos de la fila puede agregar una columna de plantilla en la que puede usar el índice de la fila.

17
<asp:TemplateField HeaderText="S No"> 
       <ItemTemplate> 
        <%# Container.DataItemIndex + 1 %> 
       </ItemTemplate> 
       <ItemStyle Width="2%" /> 
      </asp:TemplateField> 
+0

merece más votos favorables – rDroid

3

Esto es más de una respuesta adjunto a la pregunta original de la OP. Me costó trabajo averiguar cómo obtener el número de índice (número de serie en el OP) de la fila creada por la respuesta de R.Ilayaraja (que funcionaba bien por cierto).

En su código detrás de página si desea obtener el número de índice de la fila, puede utilizar código similar al siguiente:
Int32 idNumber = Convert.ToInt32(gvlisting.Rows[i].DataItemIndex.ToString()) + 1;

Esto supone que estaba usando un iterador 'i' para obtener otros valores desde sus filas, y necesita agregar uno al número ya que el índice es ordinal (el índice 0 es la primera fila). Si no está usando un iterador, simplemente use .Rows[0]

Tuve muchas dificultades como nugget de ASP.NET para resolver esto, así que pensé que publicaría esto con la esperanza de que ayudara a otro novato como yo.

2

Agregue una columna llamada Ser y configúrela en ReadOnly=false.

A continuación, agregue este código a su aplicación:

if (GridSearch.Rows.Count > 1) 
{ 
    for (int i = 0; i < GridSearch.Rows.Count-1; i++) 
    { 
     GridSearch.Rows[i].Cells[0].Value = (i + 1).ToString(); 
    } 

}

2

Sólo añadir este código en gridview

<asp:TemplateField HeaderText="Serial No of Users"> 
       <ItemTemplate> 
        <%# ((GridViewRow)Container).RowIndex + 1%> 
       </ItemTemplate> 
       <FooterTemplate> 
        <asp:Label ID="lbltotalall" runat="server" /> 
       </FooterTemplate> 
      </asp:TemplateField> 
1
<asp:TemplateField HeaderText="SR No"> 
       <ItemTemplate> 
        <%# Container.DataItemIndex + 1 %> 
       </ItemTemplate> 
       <ItemStyle Width="5%" /> 
</asp:TemplateField> 
Cuestiones relacionadas