グリッドビューがあります。 2つのバインドされた列があります。私は最初の列としてシリアル番号列を持つ必要があります。シリアル番号をGridViewの最初の列として追加するには
どうすればいいですか? ありがとうございました
グリッドビューがあります。 2つのバインドされた列があります。私は最初の列としてシリアル番号列を持つ必要があります。シリアル番号をGridViewの最初の列として追加するには
どうすればいいですか? ありがとうございました
2列のデータテーブルを作成しますが
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;
を使用してください。行インデックスは、バインドされたフィールドまたは行データをバインドして、行のインデックスを使用できるテンプレート列を追加できます。
<asp:TemplateField HeaderText="S No">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
<ItemStyle Width="2%" />
</asp:TemplateField>
はより多くのupvotesを価値がある – rDroid
のように、真とAutoIncrementStep = 1自動インクリメントとして最初の列を使用これはOPの元の質問に答え補助の詳細です。私はR.Ilayarajaの答えによって作成された行の索引番号(OPのシリアル番号)を得る方法を考え出すのにひどい時がありました(これは素晴らしいBTWでした)。ページの後ろにあなたのコードで
あなたは、行のインデックス番号を取得したい場合、あなたはこのようなコードを使用することができます。
Int32 idNumber = Convert.ToInt32(gvlisting.Rows[i].DataItemIndex.ToString()) + 1;
これは、あなたが反復子「i」は他の値を取得するために使用していたと仮定し索引が序数であるため(索引0は最初の行)番号に1を追加する必要があります。あなたはイテレータを使用していない場合は、単に.Rows[0]
を使用し、私はこれを理解するためにASP.NETナゲットとして激しく苦戦したので、私は、私はそれが私のようないくつかの他のnoobを助けを期待してこれを投稿したい考え出し。
Ser
という列を追加し、ReadOnly=false
に設定します。
次に、あなたのアプリケーションにこのコードを追加します。
if (GridSearch.Rows.Count > 1)
{
for (int i = 0; i < GridSearch.Rows.Count-1; i++)
{
GridSearch.Rows[i].Cells[0].Value = (i + 1).ToString();
}
は}
は、どれだけのシリアルナンバーが、データから計算される
<asp:TemplateField HeaderText="Serial No of Users">
<ItemTemplate>
<%# ((GridViewRow)Container).RowIndex + 1%>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lbltotalall" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SR No">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
<ItemStyle Width="5%" />
</asp:TemplateField>
のGridViewにこのコードを追加しますか? –
Peterに感謝します。シリアル番号はデータから計算されません。それはちょうど1から始まる1のステップで増加しなければならない。 – Ananth