我在gridview中有3个下拉列表 [英] i have 3 dropdownlist in gridview

查看:56
本文介绍了我在gridview中有3个下拉列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在gridview中有3个下拉列表. Dropdownlist选择了索引已更改的事件,我在银行名称上具有银行名称,分支机构,帐户,对应的分支

I have 3 dropdownlist in gridview. Dropdownlist selected indexchanged event,i have bank name,branch,account,corresponding branch

$acoount_depending

我已经在selecteditem上使用了dropdownlist.文本以获取文本,并将值分配为值.我也已将值分配给另一列,但是当我添加新行时,先前设置的selectedvalue将被清除.请回复我..谢谢

这是我的代码:

on the bank name i''ve already used dropdownlist on selecteditem. Text to get text and value to assign as value. i''ve also assigned value to another column but while I''m adding new row previously set selectedvalue is cleared. plse reply me..thanks

This my code:

  protected void btnAddBnkDtls_Click(object sender, EventArgs e)//rosna
        {            
            DataTable dt = blSupplierObj.BindBnkDtlsGrid(ref GrdvewBnkDetls);
            DataRow dr = dt.NewRow();
            
            dt.Rows.Add(dr);
            ViewState["dtBnk"] = dt;
            rowid = 0;
            GrdvewBnkDetls.DataSource = dt;
            GrdvewBnkDetls.DataBind();           
        }

        protected void GrdvewBnkDetls_RowDataBound(object sender, GridViewRowEventArgs e)
        {            Trace.Write("ADMIN.Master.frmPartySupplier_Customer.GrdvewBnkDetls_RowDataBound");

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.RowIndex != -1)
                {

                        e.Row.Cells[0].Text = Convert.ToString((e.Row.RowIndex + 1));
                        DropDownList ddlBank = (DropDownList)e.Row.FindControl("ddlBnkNme");
                        ddlBank.DataSource = dtBankDetails;
                        ddlBank.DataTextField = "Name";
                        ddlBank.DataValueField = "Uoid";
                        ddlBank.DataBind();
                        DataTable dt = (DataTable)ViewState["dtBnk"];
                        if (dt != null)
                        {
                            if (rowid < dt.Rows.Count)
                            {
                                ddlBank.SelectedValue = dt.Rows[rowid]["BankName"].ToString();
                            }
                            if (ddlBank.SelectedValue != "0")
                            {
                                DropDownList ddlBranch = (DropDownList)e.Row.FindControl("ddlBrnch");
                                blSupplierObj.BindCombo(ref ddlBranch, "Uoid", "Name", "SELECT Uoid,Name fROM CFN_TB_BankBranch Where FK_BankID ='" + ddlBank.SelectedValue + "' ");
                                if (dt.Rows[rowid]["Branch"].ToString() != "0")
                                    ddlBranch.SelectedValue = dt.Rows[rowid]["Branch"].ToString();
                            }
                            DropDownList ddlAcount = (DropDownList)e.Row.FindControl("ddlAccnt");
                            ddlAcount.DataSource = dtAccount;
                            ddlAcount.DataTextField = "Name";
                            ddlAcount.DataValueField = "Uoid";
                            ddlAcount.DataBind();
           
                            string str = DataBinder.Eval(e.Row.DataItem, "Account").ToString().Trim();
                            if (str != "")
                            {
                                ddlAccount.SelectedValue = str;
                            }
                        }
                        else
                        {
                            DropDownList ddlAcount = (DropDownList)e.Row.FindControl("ddlAccnt");
                            ddlAcount.DataSource = dtAccount;
                            ddlAcount.DataTextField = "Name";
                            ddlAcount.DataValueField = "Uoid";
                            ddlAcount.DataBind();
                        }
                }
            }
        }

        protected void GrdvewBnkDetls_RowCommand(object sender, GridViewCommandEventArgs e)//rosna
        {
            Trace.Write("ADMIN.Master.frmPartySupplier_Customer.GrdvewBnkDetls_RowCommand");
            GridViewRow objGridViewRow = (GridViewRow)((ImageButton)e.CommandSource).Parent.Parent;

            if (e.CommandName == "onDelete")
            {
                DataTable dt = blSupplierObj.BindBnkDtlsGrid(ref GrdvewBnkDetls);
                if (dt.Rows.Count > 0)
                {
                    int id = int.Parse(objGridViewRow.Cells[0].Text);
                    BL_PartySupplier_Customer.Tablefilter(ref dt, "  RowID <> " + id.ToString());
                    rowid = 0;
                    GrdvewBnkDetls.DataSource = dt;
                    GrdvewBnkDetls.DataBind();
                    ViewState["dtBnk"] = dt;                    
                }
                else
                {
                }
            }
        }
public string GetBankDtils(ref GridView GrdvewBnkDetls, string buttonText, ENT_PartySupplier_Customer entbnkObj)
       {
           //...
           StringBuilder strQuery = new StringBuilder();
           string strQuerys = string.Empty;
           if (GrdvewBnkDetls.Rows.Count >= 1 &&
              (GrdvewBnkDetls.Rows[0].FindControl("ddlBnkNme") as DropDownList).SelectedValue != "0")
           {
               for (int i = 0; i < GrdvewBnkDetls.Rows.Count; i++)
               {
                   //--
                   strQuery.Append(" SELECT ");
                     strQuery.Append("'" + Guid.NewGuid() + "',");
                       strQuery.Append("'" + (GrdvewBnkDetls.Rows[i].Cells[1].FindControl("ddlBnkNme") as DropDownList).SelectedValue + "',");
                       strQuery.Append("'" + (GrdvewBnkDetls.Rows[i].Cells[2].FindControl("ddlBrnch") as DropDownList).SelectedValue + "',");
                       strQuery.Append("'" + entbnkObj.PartyUoid + "',");
                       strQuery.Append("'" + (GrdvewBnkDetls.Rows[i].Cells[3].FindControl("ddlAccnt") as DropDownList).SelectedValue + "',");
                       strQuery.Append("'" + Guid.NewGuid() + "',");
                       strQuery.Append("'" + clsCommon.convertDate(DateTime.Now.ToString("dd/MM/yyyy")) + "',");
                       strQuery.Append("0");
                       strQuery.Append(" UNION ALL ");

               }
               strQuerys = strQuery.ToString();
           }

           else
           {
               strQuerys = string.Empty;
           }

           if (strQuerys != string.Empty)
           {
               int x = strQuery.ToString().Length;
               strQuerys = strQuerys.Remove(strQuery.ToString().Length - 11, 11);

           }

           return strQuerys;
       }

推荐答案

acoount_depending
acoount_depending

关于银行名称,我已经在selecteditem上使用了下拉列表.文本以获取文本,并将值分配为值.我也已将值分配给另一列,但是当我添加新行时,先前设置的selectedvalue将被清除.请回复我..谢谢

这是我的代码:

on the bank name i''ve already used dropdownlist on selecteditem. Text to get text and value to assign as value. i''ve also assigned value to another column but while I''m adding new row previously set selectedvalue is cleared. plse reply me..thanks

This my code:

  protected void btnAddBnkDtls_Click(object sender, EventArgs e)//rosna
        {            
            DataTable dt = blSupplierObj.BindBnkDtlsGrid(ref GrdvewBnkDetls);
            DataRow dr = dt.NewRow();
            
            dt.Rows.Add(dr);
            ViewState["dtBnk"] = dt;
            rowid = 0;
            GrdvewBnkDetls.DataSource = dt;
            GrdvewBnkDetls.DataBind();           
        }

        protected void GrdvewBnkDetls_RowDataBound(object sender, GridViewRowEventArgs e)
        {            Trace.Write("ADMIN.Master.frmPartySupplier_Customer.GrdvewBnkDetls_RowDataBound");

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.RowIndex != -1)
                {

                        e.Row.Cells[0].Text = Convert.ToString((e.Row.RowIndex + 1));
                        DropDownList ddlBank = (DropDownList)e.Row.FindControl("ddlBnkNme");
                        ddlBank.DataSource = dtBankDetails;
                        ddlBank.DataTextField = "Name";
                        ddlBank.DataValueField = "Uoid";
                        ddlBank.DataBind();
                        DataTable dt = (DataTable)ViewState["dtBnk"];
                        if (dt != null)
                        {
                            if (rowid < dt.Rows.Count)
                            {
                                ddlBank.SelectedValue = dt.Rows[rowid]["BankName"].ToString();
                            }
                            if (ddlBank.SelectedValue != "0")
                            {
                                DropDownList ddlBranch = (DropDownList)e.Row.FindControl("ddlBrnch");
                                blSupplierObj.BindCombo(ref ddlBranch, "Uoid", "Name", "SELECT Uoid,Name fROM CFN_TB_BankBranch Where FK_BankID ='" + ddlBank.SelectedValue + "' ");
                                if (dt.Rows[rowid]["Branch"].ToString() != "0")
                                    ddlBranch.SelectedValue = dt.Rows[rowid]["Branch"].ToString();
                            }
                            DropDownList ddlAcount = (DropDownList)e.Row.FindControl("ddlAccnt");
                            ddlAcount.DataSource = dtAccount;
                            ddlAcount.DataTextField = "Name";
                            ddlAcount.DataValueField = "Uoid";
                            ddlAcount.DataBind();
           
                            string str = DataBinder.Eval(e.Row.DataItem, "Account").ToString().Trim();
                            if (str != "")
                            {
                                ddlAccount.SelectedValue = str;
                            }
                        }
                        else
                        {
                            DropDownList ddlAcount = (DropDownList)e.Row.FindControl("ddlAccnt");
                            ddlAcount.DataSource = dtAccount;
                            ddlAcount.DataTextField = "Name";
                            ddlAcount.DataValueField = "Uoid";
                            ddlAcount.DataBind();
                        }
                }
            }
        }

        protected void GrdvewBnkDetls_RowCommand(object sender, GridViewCommandEventArgs e)//rosna
        {
            Trace.Write("ADMIN.Master.frmPartySupplier_Customer.GrdvewBnkDetls_RowCommand");
            GridViewRow objGridViewRow = (GridViewRow)((ImageButton)e.CommandSource).Parent.Parent;

            if (e.CommandName == "onDelete")
            {
                DataTable dt = blSupplierObj.BindBnkDtlsGrid(ref GrdvewBnkDetls);
                if (dt.Rows.Count > 0)
                {
                    int id = int.Parse(objGridViewRow.Cells[0].Text);
                    BL_PartySupplier_Customer.Tablefilter(ref dt, "  RowID <> " + id.ToString());
                    rowid = 0;
                    GrdvewBnkDetls.DataSource = dt;
                    GrdvewBnkDetls.DataBind();
                    ViewState["dtBnk"] = dt;                    
                }
                else
                {
                }
            }
        }
public string GetBankDtils(ref GridView GrdvewBnkDetls, string buttonText, ENT_PartySupplier_Customer entbnkObj)
       {
           //...
           StringBuilder strQuery = new StringBuilder();
           string strQuerys = string.Empty;
           if (GrdvewBnkDetls.Rows.Count >= 1 &&
              (GrdvewBnkDetls.Rows[0].FindControl("ddlBnkNme") as DropDownList).SelectedValue != "0")
           {
               for (int i = 0; i < GrdvewBnkDetls.Rows.Count; i++)
               {
                   //--
                   strQuery.Append(" SELECT ");
                     strQuery.Append("'" + Guid.NewGuid() + "',");
                       strQuery.Append("'" + (GrdvewBnkDetls.Rows[i].Cells[1].FindControl("ddlBnkNme") as DropDownList).SelectedValue + "',");
                       strQuery.Append("'" + (GrdvewBnkDetls.Rows[i].Cells[2].FindControl("ddlBrnch") as DropDownList).SelectedValue + "',");
                       strQuery.Append("'" + entbnkObj.PartyUoid + "',");
                       strQuery.Append("'" + (GrdvewBnkDetls.Rows[i].Cells[3].FindControl("ddlAccnt") as DropDownList).SelectedValue + "',");
                       strQuery.Append("'" + Guid.NewGuid() + "',");
                       strQuery.Append("'" + clsCommon.convertDate(DateTime.Now.ToString("dd/MM/yyyy")) + "',");
                       strQuery.Append("0");
                       strQuery.Append(" UNION ALL ");

               }
               strQuerys = strQuery.ToString();
           }

           else
           {
               strQuerys = string.Empty;
           }

           if (strQuerys != string.Empty)
           {
               int x = strQuery.ToString().Length;
               strQuerys = strQuerys.Remove(strQuery.ToString().Length - 11, 11);

           }

           return strQuerys;
       }


您正在谈论ddlBank或​​ddlAccount或两者..?
请回复我..

仅供参考,当您分配数据源或绑定ddl时,会将一组新数据填充到ddl中.因此,您先前选择的值不见了.您可以在隐藏字段或视图状态中维护您选择的值,以便您可以在该特定ddl的databind()之后将其恢复.
谢谢
r u talking about ddlBank or ddlAccount or both..?
Please reply me..

And FYI when you assign a datasource or bind the ddl, a new set of data is populatd into the ddl. So your previously selectdvalue is gone. u can maintain ur selectd value in a hiddenfield or a viewstate so that you can restore it back after the databind() of that particular ddl.
Thanks


这篇关于我在gridview中有3个下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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