October 23, 2004

Confirmation in ASP.Net DataGrid

- How can I display a dialog box to force users to confirm before a critical task (i.e., a record deletion) starts?
If you like, you can add the MessageBox to DataGrid's button you must that adds a DHTML OnClick attribute that executes the following JavaScript statement.
You must that combine your DataGrids with Client-side Script for Advanced Customizations.
this so easy with follow under method.

1- DataGrid>Properties>Events
2- (double click) DeleteCommand (for add event)
3- (double click) ItemDataBound (for add event)
4- (select the datagrid from aspx file interface) RightClick>PropertyBuilder>Columns>Selected columns>Delete>(below blue link "convert this column into a Template Column")Click>OK
5- goto source code(aspx.cs) and edit DataBound function
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
  if (e.Item.ItemType == ListItemType.Item e.Item.ItemType==ListItemType.AlternatingItem)
  {
    LinkButton bd = ((LinkButton)e.Item.FindControl("LinkButton1"));
    bd.Attributes.Add("onclick", "return confirm(\"آیا از حذف این ردیف مطمئن هستيد؟\");");
  }
}
در هنگام کار با ASP.Net DataGrid نمایش یه دایلوگ باکس در هنگام حذف، ویرایش و ... می تونه بسیار ایده آل (یا طرف درخواست کاربر) باشه.
گرچه جوابش رو نمی شه تو کامپوننت های طرف سرور توقع داشت پس باید از خیر ASp.Net بگذرید و برید سراغ دوست قدیمیjavascript و یه Client-side Script
راستش مجبور شدم برای یکی از دکمه های DataGrid در یه برنامه وب فرم یک پیغام "آیا می خواهید حذف شود" با دوتا کلید Y/N بگذارم. یه Search تو MSDN و Google راه رو سریع نشون داد. توی خود MSDN هم با توضیح کامل بودش.
کافیه 5 مرحله بالا رو انجام بدید.
یه کد 1 خطی می چسبونه به event ه onclick و خلاص .. خودش اگه NO بشه کلیک رو می خوره و اگه Yes می فرسته که می آد تو برنامه و کار را مثل معمول انجام می ده. خلاصه اینکه برای تنظیم Yes/No کد نمی خواد....

No comments: