gridview如何增加空行?

来源:互联网  时间:2016/6/28 10:02:34

关于网友提出的“ gridview如何增加空行?”问题疑问,本网通过在网上对“ gridview如何增加空行?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: gridview如何增加空行?
描述:

在GridView中,添加一个空的行,然后让用户输入数据,最后保存。 请问,如何实现?


解决方案1:

这个我看行: http://www.cnblogs.com/lgzh3/archive/2008/10/23/1318119.html

解决方案2:

ascx.cs public partial class Alarm_AlarmNoticeAdd : PageBase {     Troika.Gps.BLL.Alarm_NoticeSet_Detail bll = new Troika.Gps.BLL.Alarm_NoticeSet_Detail();     //public string gEditIndex = "aaa";     protected void Page_Load(object sender, EventArgs e)     {        Ajax.Utility.RegisterTypeForAjax(typeof(Alarm_AlarmNoticeAdd));         if (!Page.IsPostBack)         {             this.btnButton.Attributes.Add("onclick", "return check(this.form)");             //获取表结构             ViewState["ds"] = bll.GetList(" NoticeSetID=0") ;             BindGrid();         }     }     ////获取datagrid的EditIndex     //[Ajax.AjaxMethod()]     //public string GetEditIndex()     //{     //    return gEditIndex;     //}     /// 

    /// 绑定数据源     ///      public void BindGrid()     {         DataView dv = ((DataSet)ViewState["ds"]).Tables[0].DefaultView;         if (dv.Count < 1)         {             addRow();         }         else         {             dv.Sort = "SetDetailID";             DataGrid.DataSource = dv;             DataGrid.DataBind();         }     }     ///      /// 删除     ///      public void DataGrid_Delete(object sender, DataGridCommandEventArgs e)     {         string id = DataGrid.DataKeys[(int)e.Item.ItemIndex].ToString();         DataSet ds = ((DataSet)ViewState["ds"]);         ds.Tables[0].Rows[(int)e.Item.ItemIndex].Delete() ;         ds.Tables[0].AcceptChanges();         ViewState["ds"] = ds;         BindGrid();     }     ///      /// 添加     ///      protected void add_Click(object sender, System.EventArgs e)     {         addRow();     }     //增加一个空行     public void addRow()     {         DataRow newRow;         int count = 0;         DataSet ds = ((DataSet)ViewState["ds"]);         if (ds != null)         {
            DataView dv = ds.Tables[0].DefaultView;             count = ds.Tables[0].Rows.Count;<>             if (count > 0)             {                 if (ds.Tables[0].Rows[count-1]["NoticeMan"].ToString().Equals(""))                 {
                    DataGrid.DataSource = dv;
                    DataGrid.EditItemIndex = count - 1;                     DataGrid.DataBind();
                    ViewState["ds"] = ds;
                    return;
                }             }             count = ds.Tables[0].Rows.Count + 1;        
            newRow = ds.Tables[0].NewRow();
            newRow["SetDetailID"] = count;             newRow["NoticeMan"] = "";             newRow["UnitName"] = "";
/>             newRow["PhoneNum"] = "";
            newRow["NoticeType"] = 0;             ds.Tables[0].Rows.Add(newRow);             dv = ds.Tables[0].DefaultView;             dv.Sort = "SetDetailID";             DataGrid.DataSource = dv;             DataGrid.EditItemIndex = count - 1;             DataGrid.DataBind();
            ViewState["ds"] = ds;         }     }<>     ///      /// 修改
/>     /// 
    public void DataGrid_Edit(object sender, DataGridCommandEventArgs e)     {         DataGrid.EditItemIndex = e.Item.ItemIndex;  //       gEditIndex = e.Item.ItemIndex.ToString();         BindGrid();     }
    /// 
    /// 取消     /// 

    public void DataGrid_Cancel(object sender, DataGridCommandEventArgs e)     {         DataGrid.EditItemIndex = -1;         BindGrid();     }              ///      /// 更新     ///      public void DataGrid_Update(object sender, DataGridCommandEventArgs e)     {         string strErr;         TextBox EditText = null;         //取得当前行         int row = Convert.ToInt32(e.Item.ItemIndex);         //获取当前的主键         int SetDetailID = Convert.ToInt32(DataGrid.DataKeys[row]);         ExtendWebControls.DropDownListExtend ctr = (ExtendWebControls.DropDownListExtend)e.Item.FindControl("DropDownListExtend1");         string NoticeMan = ctr.Text;         ////验证通知人         //if (NoticeMan.Equals(""))         //{         //    strErr = "通知人不能为空";         //    MagicAjax.AjaxCallHelper.Write("alert('" + strErr + "');");         //    //需要重新绑定         //    BindGrid();         //    return;         //}         EditText = (TextBox)e.Item.FindControl("txtUnitName");         string UnitName = EditText.Text;         ////验证所属单位         //if (UnitName.Equals(""))         //{         //    strErr = "所属单位不能为空";
        //    MagicAjax.AjaxCallHelper.Write("alert('" + strErr + "');");         //    //需要重新绑定
        //    BindGrid();
        //    return;         //}         EditText = (TextBox)e.Item.FindControl("txtPhoneNum");         string PhoneNum = EditText.Text;         CheckBoxList list = (CheckBoxList)e.Item.FindControl("cblNoticeType");
        int NoticeType = 0;
        if (list.Items[0].Selected == true && list.Items[1].Selected == true)
        {             NoticeType = 3;
        }                      else if (list.Items[0].Selected == true)
        {
            NoticeType = 1;         }
        else if (list.Items[1].Selected == true)         {
            NoticeType = 2;         }         ////验证通知方式         //if (NoticeType==0)
        //{         //    strErr = "通知方式不能为空";         //    MagicAjax.AjaxCallHelper.Write("alert('" + strErr + "');");         //    //需要重新绑定         //    BindGrid();         //    return;         //}         //用户帐号,在HASHTABLE的值里面去找         ctr.Values = GetUserToHashTable(Session["UnitID"].ToString());         string NoticeAccount = "";         Hashtable hashtable = ctr.Values;         foreach (DictionaryEntry de in hashtable)         {
            string temp = de.Key.ToString();             string[] tempary = temp.Split(',');             if (tempary[1].Equals(NoticeMan))             {                 NoticeAccount = tempary[0];                 break;             }         }         DataSet ds = (DataSet)ViewState["ds"];         //这边判断,用户姓名不能重复         DataTable dt = ds.Tables[0];         bool flag = true;         for (int i = 0; i < dt.Rows.Count; i++)         {             if (dt.Rows[i]["NoticeMan"].ToString().Equals(NoticeMan) && row!=i)             {                 flag = false;                 break;             }         }         if (flag)         {             DataRow updateRow = ds.Tables[0].Rows[row];             updateRow["NoticeAccount"] = NoticeAccount;             updateRow["NoticeMan"] = NoticeMan;             updateRow["UnitName"] = UnitName;             updateRow["PhoneNum"] = PhoneNum;             updateRow["NoticeType"] = NoticeType;             ds.Tables[0].Rows[row].AcceptChanges();             ViewState["ds"] = ds;             addRow();         }         else
/>         {             strErr = "更新失败,用户名不能重复";             MagicAjax.AjaxCallHelper.Write("alert('" + strErr + "');");<>         }     }         }

解决方案3:

                      
                                                    <%# DataBinder.Eval(Container.DataItem, "PhoneNum")%>                                                             <>
                                                                            runat="server" />                  
                            
                                                                                                                 ' runat="server">' runat="server">                               
/>                                 系统提示                                 短信提示
                                                           
                                                                                                                                                                                              CausesValidation="false" runat="server" ID="Imagebutton1" />                                                                                                                              CausesValidation="false" runat="server" ID="ImagebuttonDel" />                                                                                                                                                                                        CausesValidation="false" runat="server" ID="Imagebutton3" />                                                                                                                              CausesValidation="false" runat="server" ID="Imagebutton2" />                                                                                                                                                                          

解决方案4:

可以动态添加Footer 单击添加就把GridView的ShowFooter属性设置为true。 单击保存就把GridView的ShowFooter属性设置为false。 效果很不错,LZ试试~~

解决方案5:

Grid不是要绑定DataTable吗,在DataTable里AddNew一个新行就好了。

解决方案6:

http://www.cnblogs.com/lgzh3/archive/2008/10/23/1318119.html

解决方案7:

DataSet ds;         DataRow dr = ds.Tables[0].NewRow();         dr[0] = System.Int32.Parse("0");         dr[1] = "";         dr[2] = "";
        ds.Tables[0].Rows.InsertAt(dr, 0);         Gridview1.DataSource = ds;         Gridview1.DataBind();

解决方案8:

http://topic.csdn.net/u/20081207/14/65a7da2e-9255-43cc-b819-75bc67e4d753.html

解决方案9:

看2楼的回答
http://topic.csdn.net/u/20081207/14/65a7da2e-9255-43cc-b819-75bc67e4d753.html

解决方案10:

动态地控制数据源datatable 新增一个空记录

上一篇responseredirect转向不了页面,要刷新一下页面才可以,什么原因呢
下一篇XmlSerializer 序列化再反序列化
明星图片
相关文章
《 gridview如何增加空行?》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)