Visual Studio 2010 で C# を使用して、従業員の FirstName と LastName を入力するための 2 つの TextBox と Web ベースの ASP.NET アプリケーションのボタンを作成しました。ボタンをクリックすると、TextBox に入力する値は次のようになります。データベースに保存されずに Gridview に表示されます。
どうやってやるの?上記の機能を実行するためのサンプル コードを提供できますか?
Visual Studio 2010 で C# を使用して、従業員の FirstName と LastName を入力するための 2 つの TextBox と Web ベースの ASP.NET アプリケーションのボタンを作成しました。ボタンをクリックすると、TextBox に入力する値は次のようになります。データベースに保存されずに Gridview に表示されます。
どうやってやるの?上記の機能を実行するためのサンプル コードを提供できますか?
これは機能するコードです。
protected void Page_Load(object sender, EventArgs e)
{
dt = new DataTable();
DataColumn dc1 = new DataColumn("FIRST NAME");
DataColumn dc2 = new DataColumn("LAST NAME");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
DataRow dr1 = dt.NewRow();
GridView1.DataSource = dt;
GridView1.DataBind();
}
DataTable dt;
protected void Button1_Click(object sender, EventArgs e)
{
DataRow dr1 = dt.NewRow();
dr1[0] = TextBox1.Text;
dr1[1] = TextBox2.Text;
dt.Rows.Add(dr1);
GridView1.DataSource = dt;
GridView1.DataBind();
}
次のようなコードで gridview にアクセスできます。
var gridview = document.getElementById("<%=Gridview1.ClientID%>");
そのグリッドビューでアクセスできるようになった後、クライアント側で情報を更新/追加/削除するメソッドになります。ただし、DB の情報を更新したことをサーバー側にも伝える必要があることに注意してください。そうすれば、変更を DB に保存できます。DBのデータを更新するためにajax
リクエストを
送信し、コードを使用してjavascriptからグリッドにアクセスし、クライアント側でjavascriptを介してデータを更新する必要があると思います。
あなたが提供したコードは正常に動作します。ただし、GridView に追加されるレコードは 1 つだけです。新しいレコードを追加すると、古いデータが置き換えられます。そのため、古い記録を保存する必要があります。
ボタンクリックイベントに以下のコードを入力するだけです。
protected void Button1_Click(object sender, EventArgs e)
{
if(Session["Data"] == null) //Checking if the session contain any value.
{
DataTable dt = new DataTable(); //creating the columns.
dt.Columns.Add("Name");
dt.Columns.Add("Price");
dt.Columns.Add("Stock");
DataRow dr = dt.NewRow(); //Create a new row and add the row values.
dr[0] = TextBox1.Text;
dr[1] = TextBox2.Text;
dr[2] = TextBox3.Text;
dt.Rows.Add(dr);
GridView1.DataSource = dt; //Populate values to Gridview.
GridView1.DataBind();
Session["Data"] = dt; //Storing that table into session.
}
else
{
DataTable dt = new DataTable();
dt = (DataTable)Session["Data"]; //Retrieve the stored table from session.
DataRow dr = dt.NewRow(); //Adding a new row to existing table.
dr[0] = TextBox1.Text;
dr[1] = TextBox2.Text;
dr[2] = TextBox3.Text;
dt.Rows.Add(dr);
GridView1.DataSource = dt; //Populate new table values to Gridview.
GridView1.DataBind();
Session.Remove("Data"); //Clear the session.
Session["Data"] = dt; //Store the new table to the session.
}
}
DataTableのテキスト ボックスに入力した値を取得し、そのdataTableをデータソースとしてそのdatagrid に渡します。
このリンクを確認してください
http://forums.asp.net/t/1672122.aspx/1