Mahesh2223 Ответов: 1

Каскадные выпадающие проблема в GridView в редактирование модальное всплывающее окно


Gridview имеет кнопку редактирования, при нажатии на кнопку редактирования в gridview появляется всплывающее окно с режимом редактирования, который имеет каскадный выпадающий список..но 2-й выпадающий список не показывает его выбранное значение из базы данных..

пожалуйста, помогите .??

вот мой полный код..


<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
     <link href="Css/bootstrap.min.css" rel="Stylesheet" />
    <link href="Bootstrap/dist/Css/jquery-ui.css" rel="stylesheet" />
    <link href="Css/style.css" rel="stylesheet" />
    <script src="Bootstrap/dist/Js/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="jQuery/jquery-ui.js" type="text/javascript"></script>
    <script src="Bootstrap/dist/Js/jquery.jstepper.js" type="text/javascript"></script>
    <script src="Bootstrap/dist/Js/bootstrap.min.js" type="text/javascript"></script>
    <style>
                
        .hidecolvalue
  {
    display: none;
  }
    </style>
</head>
<body>
      <form id="form1" runat="server">
         
 
 
 
         
       <div class="col-md-1">
            <div class="form-group">
            </div>
        </div>
 
        <div class="col-md-4">
            <div class="form-group">
                <asp:DropDownList ID="ddlState" runat="server" CssClass="form-control" AutoPostBack="false" AppendDataBoundItems="true">
                    <asp:ListItem Text="ALL Group Names" Value="ALL Groups">
                    </asp:ListItem>
                </asp:DropDownList>
            </div>
        </div>
 
 
 
 
        <div class="col-md-1">
            <div class="form-group">
                <asp:Button ID="btnSearch" Text="Search" runat="server" OnClick="Search_Click"  CssClass="btn btn-primary btn-sm" />
            </div>
        </div>
 
        <div class="col-md-1">
            <button type="button" data-target="#AddState"  data-toggle="modal" class="btn btn-primary btn-sm Add State" onclick="AddState();" >Add State</button>
        </div>
 
 
 
  <div id="divGrid">
            <div class="row">
                <div class="col-lg-12">
                    <asp:GridView ID="grdData" runat="server" AutoGenerateColumns="false" CssClass="table table-hover table-bordered" AllowPaging="true"
                        PagerSettings-PageButtonCount="3" GridLines="None" PageSize="10" OnPageIndexChanging="OnPagingChange" OnRowDataBound="grdData_RowDataBound"  >
                        <Columns>
                            <asp:BoundField HeaderText="ID"  DataField="ID" ItemStyle-CssClass="hidecolvalue" HeaderStyle-CssClass="hidecolvalue"  />
                            <asp:BoundField DataField="State" HeaderText="State Name" SortExpression="StateName" />
                            <asp:BoundField DataField="City" HeaderText="City Name" SortExpression="CityName" />
                            <asp:BoundField DataField="Code" HeaderText="Code" SortExpression="Code" />
               
                            <asp:TemplateField HeaderText="#Action" ItemStyle-CssClass="display:inline">
                            <ItemTemplate>
                                <asp:Literal ID="ltrlEdit" Text="Edit" runat="server"></asp:Literal>
                            </ItemTemplate>
                            </asp:TemplateField>
                           
                        </Columns>
                        <PagerStyle CssClass="pagination-ys" />
                        <EmptyDataTemplate>No Records Available</EmptyDataTemplate>
                    </asp:GridView>
 
 
                </div>
            </div>
        </div>
 
 
 
   <div class="modal fade" id="AddState" tabindex="-1">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button class="close" data-dismiss="modal">×</button>
                        <h4 class="modal-title">Add State</h4>
                    </div>
                     
                  
                            <div class="modal-body">
                                <div class="form-group">
                                    <div class="row">
                                        <div class="col-md-2">
                                            <label for="StateNames">StateNames</label>
                                        </div>
                                        <div class="col-md-9">
                                            <asp:DropDownList ID="ddlStateName" runat="server" CssClass="form-control" AutoPostBack="false" AppendDataBoundItems="true" >
                                                <%--<asp:ListItem Text="ALL State Names" Value="ALL Groups">
                                                </asp:ListItem>--%>
                                            </asp:DropDownList>
                                            <label id="lblStateName" style="display: none; color:red"></label>
                                        </div>
                                    </div>
                                </div>
 
                                <div class="form-group">
                                    <div class="row">
                                        <div class="col-md-3">
                                            <label for="CityNames">City Names</label>
                                        </div>
                                        <div class="col-md-5">
                                            <asp:DropDownList ID="ddlCities" runat="server" CssClass="form-control" AutoPostBack="false" AppendDataBoundItems="false">
                                                 
                                            </asp:DropDownList>
                                            <label id ="lbllist" style="display: none; color:red"></label>
 
 
 
                                        </div>
                                    </div>
                                </div>
                            </div>
 
                              
 
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-md-3">
                                        <label for="inputCode">    Code</label>
                                    </div>
                                    <div class="col-md-4">
                                        <asp:TextBox ID="txtCode" onchange="funchange(this);" runat="server" CssClass="form-control" class="Test"></asp:TextBox>
                                        <label id="lblCode" style="display: none; color: red"></label>
                                         
 
                                       
                                    </div>
                                </div>
                            </div>
 
 
                            <div class="modal-footer">
                                <asp:Button ID="btnSave" runat="server" CssClass="btn btn-primary btn-sm" Text="Save" OnClientClick="return ValidateMe()"/>
                                <button class="btn btn-primary" data-dismiss="modal">Close</button>
                            </div>
                            </div>
                 </div>
                 </div>
                             
 
 function AddState() {
              $('#<%=ddlCities.ClientID%>, #<%=ddlStateName.ClientID%>,#<%=txtCode.ClientID%>').val('');
              
           
          }
 
 
 function ValidateMe() {
            if (isNullOrEmpty($('#<%=ddlStateName.ClientID%>').val())) {
                $('#lblStateName').text('Please Select Doctor Name').show().fadeOut(3000);
                return false;
 
            }
            if (isNullOrEmpty($('#<%=ddlCities.ClientID%>').val())) {
            $('#lbllist').text('Please enter Upper Limit').show().fadeOut(3000);
            return false;
        }
        if (isNullOrEmpty($('#<%=txtCode.ClientID%>').val())) {
            $('#lbllblCode').text('Please enter Code').show().fadeOut(3000);
            return false;
        }
         
            alert(' Details Successfully added..');
 
            $('#AddState').modal('hide')
            return true;
 
          
        };
 
 
 
  $(function () {
 
              $('#<%=ddlCities.ClientID %>').attr('disabled', 'disabled');
 
               $('#<%=ddlCities.ClientID %>').append('<option selected="selected" value="0">Select City</option>');
 
               $('#<%=ddlStateName.ClientID %>').change(function () {
                   
                   var Cities = $('#<%=ddlStateName.ClientID%>').val()
                   $('#<%=ddlCities.ClientID %>').removeAttr("disabled");
 
                   $.ajax({
                       type: "POST",
                       url: "Citycheck.aspx/BindCities",
                       data: "{'Cities':'" + Cities + "'}",
                       contentType: "application/json; charset=utf-8",
                       dataType: "json",
                       success: function (msg) {
                           var j = jQuery.parseJSON(msg.d);
                           var options;
                           for (var i = 0; i < j.length; i++) {
                               options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>'
                           }
                           $('#<%=ddlCities.ClientID %>').html(options)
                       },
                       error: function (data) {
                           alert('Something Went Wrong')
                       }
                   });
               });
 
           });
 
 
function Edit(RecordID) {
 $.ajax({
 url: 'citycheck.aspx/GetCityByStateCode?ts=' + $.now(),
 contentType: 'application/json',
 type: 'POST',
 data: JSON.stringify({ id: RecordID }),
 success: function (res) {
 var obj = JSON.parse(res.d);
 $('#<%=hdnRecordId.ClientID%>').val(RecordID);
 $('#<%=ddlStateName.ClientID%>').val(obj.ID).change();
  
 $('#<%=ddlCities.ClientID%>').val(obj.CityID).change();
 $('#<%=txtCode.ClientID%>').val(obj.code);
  
 
 },
 error: function (err) {
 }
 });
 
 }


Что я уже пробовал:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Services;
using System.IO;
 
namespace cascade
{
    public partial class Citycheck : System.Web.UI.Page
    {
        string cs = ConfigurationManager.ConnectionStrings["dbConn12"].ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ddlState.DataSource = GetStateNames();
                ddlState.DataTextField = "StateName";
                ddlState.DataValueField = "StateCode";
                ddlState.DataBind();
 
 
                ddlStateName.DataSource = GetStateNames();
                ddlStateName.DataTextField = "StateName";
                ddlStateName.DataValueField = "StateCode";
                ddlStateName.DataBind();
 
                ddlStateName.Items.Insert(0, new ListItem("All State Names", ""));
                BindGrid();
            }
 
        }
 
        protected DataSet GetStateNames()
        {
            SqlConnection con = new SqlConnection(cs);
            SqlCommand cmd = new SqlCommand("sp_StateNames", con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            try
            {
                con.Open();
                da.Fill(ds);
                con.Close();
            }
 
            catch (Exception ex)
            {
                Response.Write(ex.Message);
 
            }
            return ds;
 
        }
 
        protected void BindGrid()
        {
            using (SqlConnection con = new SqlConnection(cs))
            {
                using (SqlCommand cmd = new SqlCommand("Sp_CityData", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
 
          
                    cmd.Parameters.AddWithValue("@StateCode", ddlState.SelectedItem.Value);
                    DataTable dt = new DataTable();
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dt);
 
                    if (dt.Rows.Count > 0)
                    {
                        grdData.DataSource = dt;
                        grdData.DataBind();
                    }
                    else
                    {
                        grdData.DataSource = dt;
                        grdData.DataBind();
                    }
                }
            }
        }
 
        protected void Search_Click(object sender, EventArgs e)
        {
            BindGrid();
        }
 
        protected void OnPagingChange(object sender, GridViewPageEventArgs e)
        {
 
            grdData.PageIndex = e.NewPageIndex;
            this.BindGrid();
 
        }
[WebMethod]
        public static string BindCities(string Cities)
        {
            string cs = ConfigurationManager.ConnectionStrings["dbConn12"].ToString();
            StringWriter builder = new StringWriter();
            String strQuery = "select CityCode1 , CityName from CityDetails where StateCode = @stateCode  ";
            DataSet ds = new DataSet();
            using (SqlConnection con = new SqlConnection(cs))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = strQuery;
                    cmd.Parameters.AddWithValue("@stateCode", Cities);
                    cmd.Connection = con;
                    con.Open();
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(ds);
                    con.Close();
                }
            }
            DataTable dt = ds.Tables[0];
            builder.WriteLine("[");
            if (dt.Rows.Count > 0)
            {
                builder.WriteLine("{\"optionDisplay\":\"Select City\",");
                builder.WriteLine("\"optionValue\":\"0\"},");
                for (int i = 0; i <= dt.Rows.Count - 1; i++)
                {
                    builder.WriteLine("{\"optionDisplay\":\"" + dt.Rows[i]["CityName"] + "\",");
                    builder.WriteLine("\"optionValue\":\"" + dt.Rows[i]["CityCode1"] + "\"},");
                }
            }
            else
            {
                builder.WriteLine("{\"optionDisplay\":\"Select City\",");
                builder.WriteLine("\"optionValue\":\"0\"},");
            }
            string returnjson = builder.ToString().Substring(0, builder.ToString().Length - 3);
            returnjson = returnjson + "]";
            return returnjson.Replace("\r", "").Replace("\n", "");
        }
 
 
        [WebMethod]
        public static string GetCityByStateCode(int id)
        {
            Citydata citydata = null;
            string cs = ConfigurationManager.ConnectionStrings["dbConn12"].ToString();
 
            using (SqlConnection con = new SqlConnection(cs))
            {
                using (SqlCommand cmd = new SqlCommand("GetCityByStateCode", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@RecordID", id);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataTable table = new DataTable();
                    da.Fill(table);
                    foreach (DataRow row in table.Rows)
                    {
                        citydata = new CityData()
                        {
                            RecordID = row["RecordID"].ToString(),
                            StateName = row["StateName"].ToString(),
                            CityName = row["CityName"].ToString(),
                            ID = row["StateCode"].ToString(),
                            CityID = row["CityCode1"].ToString(),
                            code = Convert.ToInt32(row["Code"].ToString()),
                             
                        };
                    }
                }
            }
            return Newtonsoft.Json.JsonConvert.SerializeObject(citydata);
        }
 
        protected void grdData_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
 
                Literal ltrlEdit = e.Row.FindControl("ltrlEdit") as Literal;
 
                ltrlEdit.Text = string.Format("<button id='edit_{0}' onclick='Edit({0})' type='button'text='Edit'  data-toggle='modal' class='btn btn-primary btn-sm pull-left' data-target='#AddState' title='Add State'>Edit</button>",
                    DataBinder.Eval(e.Row.DataItem, "RecordID"),
                   DataBinder.Eval(e.Row.DataItem, "RecordID").ToString());
 
 
 
            }
 
 
 
        }
 
 
 
    }
}

1 Ответов

Рейтинг:
11

Karthik_Mahalingam

пробовать

$.ajax({
                     type: "POST",
                     async:false,
                     url: "Citycheck.aspx/BindCities",


$('#ddlCities').val('cityid');


Mahesh2223

Нет братан все еще выбранное значение не отображается в выпадающем списке

Mahesh2223

я получаю все значения, но 2-е выпадающее значение не приходит.

Karthik_Mahalingam

запустите это в консоли и проверьте
$('#ddlCities'). val ('cityid');

Mahesh2223

братан, помоги.??
https://www.codeproject.com/Questions/1198781/Autocomplete-dropdown-based-on-radio-button-checke

Karthik_Mahalingam

что вы подразумеваете под автозаполнением,
набрав первый символ, он должен заполнить элементы, начинающиеся с символа ?

потому что вопрос и код не имеют никакого смысла

Mahesh2223

не автозаполнение, на самом деле я проверяю radio india, только индийские плееры должны отображаться в выпадающем списке, если я выберу sa, только те, не совсем автозаполнение..

Mahesh2223

брат у дер ??

Karthik_Mahalingam

пингуйте меня, когда вы находитесь в сети

Mahesh2223

Я онлайн братан

Karthik_Mahalingam

есть ли у вас teamviewer

Mahesh2223

нет, братан, я думаю, что ты тоже спрашивал меня об этом в прошлый раз, но дело в том, что код будет в компании , я пробую тот же сценарий дома

Karthik_Mahalingam

о, сори,я запутался в тебе и некоторых других парнях здесь.

Mahesh2223

я пробую сценарий, но я делаю ошибки, это проблема

Karthik_Mahalingam

требование не так ясно, как вы будете фильтровать в зависимости от страны?

Mahesh2223

на переключателе проверено, не можем ли мы фильтровать на основе значения.- если я поступлю именно так.
&ЛТ;АСП:ИД dropdownlist для="ddlPlayers" атрибут runat="сервер" CssClass="форма контроля"и GT;
&ЛТ;АСП:текст элемент listitem="--выберите--" значение=""&ГТ;
&ЛТ;АСП:текст элемент listitem="Сехваг" значение="Индия"и GT;
&ЛТ;АСП:текст элемент listitem="Коли" значение="Индия"и GT;
&ЛТ;АСП:текст элемент listitem="Сачин" значение="Индия"и GT;
&ЛТ;АСП:текст элемент listitem="Абд" значение="СА"и GT;
&ЛТ;АСП:текст элемент listitem="Миллер" значение="СА"и GT;
&ЛТ;АСП:текст элемент listitem="Квинтон д" значение="СА"и GT;

Karthik_Mahalingam

являются ли предметы жестко закодированными

Mahesh2223

да это так

Karthik_Mahalingam

ладно ... ладно, выложу решение.

Karthik_Mahalingam

проверьте мое решение

Karthik_Mahalingam

я иду ужинать, вернусь через 45 минут

Mahesh2223

ладно, братан, продолжай, пожалуйста, дай мне решение , мне нужно доставить его Томо

Karthik_Mahalingam

Хорошо

Karthik_Mahalingam

Как вы заполняете выпадающие элементы

Karthik_Mahalingam

Как вы заполняете выпадающие элементы

Karthik_Mahalingam

Как вы заполняете данные

Mahesh2223

на переключателе проверено не можем ли мы это сделать

Mahesh2223

я попробовал его с aftn, но безрезультатно, поэтому я разместил его в evng

Mahesh2223

var options = $('#<%=ddlPlayers.ClientID%>'). html();

$('#rdoIndia'). click (функция (e) {
var text = $('#<%=ddlPlayers.ClientID%>'). текст();
предупреждение (текст);
// $('#<%=ddlPlayers.ClientID%>'). html(параметры);
// если (текст == "--выберите--") вернуться;
$('#<%=ddlPlayers.Идентификатора ClientID%&ГТ;').добавить(" + текст.функцию substr(0, 3).функция val() + ");

тревога ("Привет");
});

Karthik_Mahalingam

там?

Mahesh2223

братан, я уже пробовал..

ВАР листа = [{ имя: 'Сехваг', значение: 'Сехваг' }, { имя: 'Михаил Задорнов', значение: 'Михаил Задорнов' }, { имя: 'Коли', значение: 'Коли' }];

ВАР listB = [{ имя: 'Абд', значение: Абд' }, { имя: 'Амла', значение: 'Амла' }];

$(документ).готово(функция () {
$("введите[имя игрока='']").функция на('нажмите', () {
тревога ("привет");

если ($(это).это(':проверено') и усилитель; & $(этот).функция val() == '1') {
$('#ddlPlayers'). пусто()
$. each(listA, function (index, value) {
$('#ddlPlayers'). append(" + value.имя + '');
});
}
остальное, если ($(это).это(':проверено') и усилитель; & $(этот).функция val() == '2') {
$('#ddlPlayers'). пусто()
$. each(listB, function (index, value) {
$('#ddlPlayers'). append(" + value.имя + '');
});
}
еще {

}

});
});

Karthik_Mahalingam

получение json-это хорошая идея и использование select вместо dropdownlist

Mahesh2223

о хорошо братан пожалуйста опубликуй решение я попробую это сделать