- PR -

DataGridにて行数表示方法

投稿者投稿内容
ともみん
会議室デビュー日: 2003/05/30
投稿数: 9
投稿日時: 2003-06-18 10:04
GUNNMさまの方法で出来ました!
どうもありがとうございました。

なかなか奥が深く、勉強することがたくさんありますね・・・。
わかると楽しいですが。

また宜しくお願い致します!
ともみん
会議室デビュー日: 2003/05/30
投稿数: 9
投稿日時: 2003-06-18 10:21
先ほど、GUNNMさまの方法で出来ました!
と書き込みしましたが、この方法ですと、
ZEBRAさまの書き込みのような
ページをまたがった場合の処理は出来ません。

度々失礼致しました。

ZEBRA
常連さん
会議室デビュー日: 2003/04/14
投稿数: 38
投稿日時: 2003-06-19 00:37
こんばんわ。
説明不足のようでしたので、サンプルコードを提示致します。

まず、画面側でのデータグリッドのバインドで以下の様に記述して下さい。

<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 81px; POSITION: absolute; TOP: 27px" runat="server" Width="473px" Height="221px" PageSize="5" AllowPaging="True">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label id=Label1 runat="server" Width="122px" Text="<%# this.GetItemNo(Container) %>">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

次にコードビハインド側で以下のコードを記述して下さい。
protected DataSet ds;

private void Page_Load(object sender, System.EventArgs e)
{
if(this.IsPostBack)
{
this.ds = (DataSet)this.Session["ds"];
}
else
{
this.ds = new DataSet();
this.sqlDataAdapter1.Fill(this.ds);
this.Session["ds"] = this.ds;
}
this.DataGrid1.DataSource = this.ds;
this.DataGrid1.DataBind();
}


private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.DataGrid1.CurrentPageIndex = e.NewPageIndex;
this.DataGrid1.DataBind();
}

protected string GetItemNo(DataGridItem Container)
{
int rtn;
rtn = Container.ItemIndex + (this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize) + 1;
return rtn.ToString();
}

上記のようにコーディングしていただければ、ページング処理を実現できるかと思います。ちなみにこの方法は、バインド先をコードビハインド側に記述している為、データソースの値をいろいろなやり方で編集できます。(かなり凝ったバインドが可能です)
コードの具体的な意味はヘルプ等で参照して下さい。
ZEBRA
常連さん
会議室デビュー日: 2003/04/14
投稿数: 38
投稿日時: 2003-06-19 00:43
あっ、タブが有効になっていないですね。(^^)
{}の間は、タブでインデントしているので、ご了承下さい。
ともみん
会議室デビュー日: 2003/05/30
投稿数: 9
投稿日時: 2003-06-23 20:56
ZEBRAさま

いつもご丁寧に教えてくださり、どうもありがとうございます!
解決できました☆
また宜しくお願い致します。
Takeshi
会議室デビュー日: 2002/11/11
投稿数: 6
投稿日時: 2008-03-17 11:28
データリストですが、<%# DataBinder.Eval(Container, "ItemIndex").ToString() + 1 %> で出来ました。

スキルアップ/キャリアアップ(JOB@IT)