استفاده از `DataTable` برای مدیریت دادههای داینامیک در ASP.NET Web Forms میتواند به شما کمک کند تا دادهها را به صورت موقت در حافظه ذخیره کنید و عملیاتهایی مانند افزودن، ویرایش، و حذف را انجام دهید. در اینجا یک نمونه ساده از نحوه پیادهسازی آن آورده شده است که شامل ایجاد یک `DataTable` و انجام عملیات CRUD (ایجاد، خواندن، ویرایش، حذف) بر روی آن میباشد.
### مراحل پیادهسازی
#### 1. ایجاد پروژه ASP.NET Web Forms
یک پروژه جدید ASP.NET Web Forms در Visual Studio ایجاد کنید.
#### 2. طراحی صفحه `DataTableManagement.aspx`
در این صفحه، ما یک فرم برای وارد کردن دادهها و یک GridView برای نمایش و مدیریت آن دادهها خواهیم داشت.
```aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataTableManagement.aspx.cs" Inherits="YourNamespace.DataTableManagement" %>
مدیریت دادههای داینامیک
مدیریت دادهها
لیست دادهها
```
### 3. کد بیهند (Code-Behind برای `DataTableManagement.aspx.cs`)
در اینجا، ما یک `DataTable` برای ذخیرهسازی دادهها ایجاد خواهیم کرد و عملیات CRUD را پیادهسازی خواهیم کرد.
```csharp
using System;
using System.Data;
namespace YourNamespace
{
public partial class DataTableManagement : System.Web.UI.Page
{
private DataTable dataTable;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitializeDataTable(); // ایجاد DataTable در بار اول
}
}
private void InitializeDataTable()
{
dataTable = new DataTable();
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Age", typeof(int));
// ذخیره DataTable در ViewState برای دسترسی در بین درخواستها
ViewState["DataTable"] = dataTable;
LoadData(); // بارگذاری دادهها
}
private void LoadData()
{
dataTable = (DataTable)ViewState["DataTable"];
gvData.DataSource = dataTable;
gvData.DataBind();
}
protected void btnAdd_Click(object sender, EventArgs e)
{
string name = txtName.Text;
int age;
if (int.TryParse(txtAge.Text, out age)) // اعتبارسنجی ورودی سن
{
dataTable = (DataTable)ViewState["DataTable"];
DataRow row = dataTable.NewRow();
row["Name"] = name;
row["Age"] = age;
dataTable.Rows.Add(row);
ViewState["DataTable"] = dataTable; // بهروزرسانی ViewState
lblStatusMessage.Text = "داده با موفقیت افزوده شد.";
txtName.Text = "";
txtAge.Text = "";
LoadData(); // بارگذاری مجدد دادهها
}
else
{
lblStatusMessage.Text = "لطفاً سن معتبر وارد کنید.";
}
}
protected void gvData_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "Delete")
{
DeleteData(index);
}
else if (e.CommandName == "Edit")
{
EditData(index);
}
}
private void DeleteData(int index)
{
dataTable = (DataTable)ViewState["DataTable"];
if (index >= 0 && index < dataTable.Rows.Count)
{
dataTable.Rows.RemoveAt(index);
ViewState["DataTable"] = dataTable; // بهروزرسانی ViewState
lblStatusMessage.Text = "داده با موفقیت حذف شد.";
LoadData(); // بارگذاری مجدد دادهها
}
}
private void EditData(int index)
{
// اینجا میتوانید قابلیت ویرایش را پیادهسازی کنید
// برای سادگی این قسمت را خالی میگذاریم
lblStatusMessage.Text = "ویرایش دادهها در این نسخه پیادهسازی نشده است.";
}
}
}
```
### 4. اجرای پروژه
پس از انجام مراحل فوق، پروژه را اجرا کنید. شما باید بتوانید دادهها را به صورت داینامیک اضافه، ویرایش و حذف کنید. دادهها در یک جدول (GridView) نمایش داده میشوند و هر بار که دادهای اضافه، ویرایش یا حذف میشود، جدول بهروز میشود.
### نکات اضافی
1. **ویرایش دادهها**: برای قابلیت ویرایش، میتوانید از یک فرم جداگانه یا یک پنجره پاپآپ استفاده کنید تا اطلاعات را ویرایش کنید.
2. **مدیریت ورودیها**: حتماً ورودیهای کاربر را اعتبارسنجی کنید تا از ورود دادههای نامعتبر جلوگیری شود.
3. **توسعه و گسترش**: میتوانید ویژگیهای اضافی مانند ذخیرهسازی در پایگاه داده، دستهبندی دادهها، و... به سیستم اضافه کنید.
4. **استفاده از AJAX**: برای بهبود تجربه کاربری، میتوانید از AJAX برای بهروزرسانیهای بدون بارگذاری صفحه استفاده کنید.
این یک پیادهسازی ساده برای مدیریت دادههای داینامیک با استفاده از `DataTable` در ASP.NET Web Forms است که میتواند بر اساس نیازهای خاص شما گسترش یابد.
| صفحه قابل مشاهده:
دانلود کد استفاده از DataTable برای مدیریت دادههای داینامیک با ASP.NET Web Form میباشد