- PR -

GridViewの行データ追加について

1
投稿者投稿内容
JACK780
会議室デビュー日: 2006/08/12
投稿数: 3
投稿日時: 2006-08-23 13:32
お世話になります。

ASP.NET(C#)でWebアプリケーションを作成してます。

以下のような処理を考えているのですが、
実装方法がなかなか思いつきません。

■処理概要
 @画面上のTextBoxに値を入力
 A「追加」ボタンを押下すると、一覧表の1行目に入力した値が表示される
 Bさらに画面上のTextBoxに別の値を入力
 C「追加」ボタンを押下すると、一覧表の2行目に入力した値が表示される
 D「保存」ボタンを押下すると、一覧表に表示されている値がDBへ保存される

一覧表としてGridViewコントロールを試していますが、
TextBoxの入力値を追加する事がうまく出来ません。

どのようにすれば良いかご教授の程、
よろしくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-08-23 14:15
ちょっとトリッキーなとこもありますが、以下のようなプログラムでデータの追加は
可能だと思います。
あとは、保存ボタンのクリック時にmylistの中身をデータベースに登録する処理を加えればよいかと。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
List<string> myList = new List<string>();

protected void Page_Load(object sender, EventArgs e)
{
if (this.GridView1.Rows.Count > 0)
foreach (GridViewRow gvr in this.GridView1.Rows)
myList.Add(gvr.Cells[0].Text);

this.GridView1.DataSource = myList;
this.GridView1.DataBind();
}

protected void Button1_Click(object sender, EventArgs e)
{
myList.Add(this.TextBox1.Text);
this.GridView1.DataBind();
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無題のページ</title>
</head>
<body>
<form id="form1" runat="server">
<div>
&nbsp;<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="追加" OnClick="Button1_Click" />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" ShowHeader="False">
</asp:GridView>
</div>
</form>
</body>
</html>
1

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