以编程方式将模板字段添加到Gridview [英] Adding Template Field to Gridview Programmatically

查看:79
本文介绍了以编程方式将模板字段添加到Gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想在按钮点击事件中将模板字段添加到gridview中。以下是我的代码工作正常但只有一次,所以请告诉我如何在按钮点击上添加多行。

Hi,
I want to add template field into the gridview on button click event. Following is my code which is working fine but only for one time so please let me know to how add multiple rows on button click.

 private void SetInitialRow()
        {
            DataTable dt = new DataTable();

                if (ddlBroker.SelectedIndex > 0 && ViewState["CurrentTable"] == null) 
                {
                    objBEL.Broker_id = int.Parse(ddlBroker.SelectedValue.ToString());
                    objBEL.city_id = objBLL.GetCityId(objBEL);
                    dt = objBLL.GetRecords(objBEL);

     
                    if (dt.Rows.Count > 0)
                    {

                        DataRow dr = null;

                        gdvRates.DataSource = ViewState["CurrentTable"];
                        gdvRates.DataBind();

                        dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
                        dr = dt.NewRow();
                        dr["RowNumber"] = 1;
                        dr["Subcommodity_name"] = string.Empty;
                        dr["City_name"] = string.Empty;
                        dr["Brand_Name"] = string.Empty;
                        dr["Brand_Desc"] = string.Empty;
                        dr["Min_Rate"] = DBNull.Value;
                        dr["Max_Rate"] = DBNull.Value;
                        dr["Brand_Abbr"] = string.Empty;
                        dr["Brand_Id"] = DBNull.Value;
                        dr["Rate_id"] = DBNull.Value;

                        dt.Rows.Add(dr);

                        ViewState["CurrentTable"] = dt;

                        gdvRates.DataSource = ViewState["CurrentTable"];
                        gdvRates.DataBind();


                    }
                }

                else
                {
                    DataRow dr = null;
dt = (DataTable)ViewState["CurrentTable"];

                 //   gdvRates.DataSource = ViewState["CurrentTable"];
                  //  gdvRates.DataBind();

                    dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
                    dt.Columns.Add(new DataColumn("Subcommodity_name", typeof(string)));
                    dt.Columns.Add(new DataColumn("City_name", typeof(string)));
                    dt.Columns.Add(new DataColumn("Brand_Name", typeof(string)));
                    dt.Columns.Add(new DataColumn("Brand_Abbr", typeof(string)));
                    dt.Columns.Add(new DataColumn("Brand_Desc", typeof(string)));
                    dt.Columns.Add(new DataColumn("Min_Rate", typeof(string)));
                    dt.Columns.Add(new DataColumn("Max_Rate", typeof(string)));
                    dt.Columns.Add(new DataColumn("Brand_Id", typeof(string)));
                    dt.Columns.Add(new DataColumn("Rate_id", typeof(string)));

                    dr = dt.NewRow();
                    dr["RowNumber"] = 1;
                    dr["Subcommodity_name"] = string.Empty;
                    dr["City_name"] = string.Empty;
                    dr["Brand_Name"] = string.Empty;
                    dr["Brand_Desc"] = string.Empty;
                    dr["Min_Rate"] = DBNull.Value;
                    dr["Max_Rate"] = DBNull.Value;
                    dr["Brand_Abbr"] = string.Empty;
                    dr["Brand_Id"] = DBNull.Value;
                    dr["Rate_id"] = DBNull.Value;

                    dt.Rows.Add(dr);

                    ViewState["CurrentTable"] = dt;

                    gdvRates.DataSource = ViewState["CurrentTable"];
                    gdvRates.DataBind();


                }
                       
        }





提前致谢。



Thanks in advance.

推荐答案

在每个帖子上,您的动态数据都会丢失。因此,您需要再次重新创建该数据,或者您可以将该数据放在Session或ViewState中,并从SetInitialRow方法中的那里检索它。这就是为什么它让你觉得它只能工作一次。
On every post back your dynamic data is lost. So you need to recreate that data again or you can put that data in Session or ViewState and retrieve it from there inside SetInitialRow method. That's why its giving you impression that its working only once.


这篇关于以编程方式将模板字段添加到Gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆