افزودن سطر به کنترل GridView با رویداد کلیک دکمه در سمت کاربر

پنجشنبه 17 اردیبهشت 1394

در این مقاله نحوه دریافت مقادیر از textbox و ارسال آنها به کنترل gridview را همراه با ذخیره این اطلاعات در session شرح خواهیم داد, سورس پروژه نیز در ادامه مطلب ضمیمه شده است .

افزودن سطر  به کنترل GridView با رویداد کلیک دکمه در سمت کاربر

برای افزودن سطر به کنترل gridview و ذخیره آن در session مطابق زیر عمل میکنیم .

یک کنترل GridView به صفحه اضافه می کنیم .خاصیت AutoGenerateColumn را در حالت false قرار می دهیم . سپس سه boundField به آن اضافه میکنیم .(در این مثال با نام RollNo , Name , Class)


    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">  
        <columns>  
            <asp:BoundField HeaderText="RollNo" DataField="RollNo"/>  
            <asp:BoundField HeaderText="Name" DataField="Name"/>  
            <asp:BoundField HeaderText="Class" DataField="Class"/>  
        </columns>  
    </asp:GridView> 

سپس برای اینکه اطلاعات در یک جدول ثبت شود باید این جدول را نیز ایجاد کنیم .

DataTable GetTable()  
{  
    DataTable table = new DataTable();  
    table.Columns.Add("RollNo");  
    table.Columns.Add("Name");  
    table.Columns.Add("Class");  
    return table;  
}

در رویداد بارگزاری صفحه جدولی که ایجاد کرده ایم را به کنترل GridView متصل میکنیم .

protected void Page_Load(object sender, EventArgs e)  
{  
    DataTable dt = new DataTable();  
    dt = GetTable();  
    GridView1.DataSource = dt;  
    GridView1.DataBind();  
} 

در رویداد کلیک دکمه , یک سطر به به متغبر جدول اضافه می کنیم .سپس اطلاعات جدول را در session یا viewstate ذخیره میکنیم .

همچنین برای SESSION شرط می نویسیم که اگر خالی بود اطلاعات را از جدولی که به صورت پیش فرض ثبت کرده ابم دریافت کند

if (Session["table"] == null)  
        {  
            dt = GetTable();  
        }

در غیر اینصورت اطلاعات را از textbox هایی که در صفحه قرار داده ایم دریافت کند و در sesion قراردهد

 else  
        {  
            dt = (DataTable) Session["table"];  
        }  
        dt.Rows.Add(txtRollNo.Text, txtName.Text, txtClass.Text);  
        Session["table"] = dt;  
        GridView1.DataSource = dt;  
        GridView1.DataBind();  
        txtClass.Text = "";  
        txtName.Text = "";  
        txtRollNo.Text = "";  

لیست کامل کدهای مربوط به رویداد کلیک دکمه را می توانید در ادامه مشاهده کنید .


    protected void Button1_Click(object sender, EventArgs e)  
    {  
        try  
        {  
            if (Session["table"] == null)  
            {  
                dt = GetTable();  
            } else  
            {  
                dt = (DataTable) Session["table"];  
            }  
            dt.Rows.Add(txtRollNo.Text, txtName.Text, txtClass.Text);  
            Session["table"] = dt;  
            GridView1.DataSource = dt;  
            GridView1.DataBind();  
            txtClass.Text = "";  
            txtName.Text = "";  
            txtRollNo.Text = "";  
        } catch (Exception ex) {}  
    }  

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید