Как показать всплывающее меню из базы данных в gridview для каждого элемента строки gridview? - PullRequest
0 голосов
/ 06 декабря 2010

Как показать всплывающее меню из базы данных в виде сетки для каждого элемента строки сетки?

Пример этого:

http://www.redbus.in/Booking/SelectBus.aspx?fromCityId=733&fromCityName=Delhi&toCityId=757&toCityName=Manali&doj=26-Dec-2010&busType=Any

Переместите курсор на Время отправления и время прибытия ... a хотите всплывающее окно этого типа в элементах gridview .... которые выбирают записи из базы данных ..

Ответы [ 2 ]

0 голосов
/ 06 декабря 2010

Вы можете справиться с этим с помощью javascript / jQuery.Сам gridview не имеет ничего общего с этим.Если бы я собирался построить то, что он имеет, просто посмотрев на него, я бы создал таблицу динамически.Таким образом, вы можете использовать построитель строк и вставлять имена переменных между каждым тегом td.Вы извлекаете все свои данные из базы данных и сохраняете их в List или, что еще лучше, используете LINQ to SQL.

Хотелось бы дать вам образец в VB, но вот пример того, о чем я говорю.

protected void Page_Load(object sender, EventArgs e)
{
    StoreDataContext db = new StoreDataContext();
    var join = from b in db.Brands      
               select new
               {
                   Brand = b,

                   c = b.Description.Length < 204 ? b.Description : b.Description.Substring(0, 204) + "...",
                   Sources = 
                        from s in db.Sources
                        join xref in db.Brands_Sources on s.SourceID equals xref.SourceID
                        where xref.BrandID == b.BrandID
                        select s       
               };
    StringBuilder sb = new StringBuilder();

    sb.Append( "<table class='tableStripe'>");
    sb.Append( "<tr><th width='1%'>Active</th><th>Image</th><th>Name</th><th>Short Description</th><th>Source</th><th width='1%'>Date Created</th><th width='1%'>Data Modified</th></tr>");

    foreach (var result in join)
    {
        string chk = (result.Brand.Active ? "checked='checked'" : "");
        sb.AppendFormat( "<tr><td><input class='brandChk' value='{4}' type='checkbox' {0}></td><td width='1%'><img width='50px' src='{1}'</img></td>" +
                "<td><a href='/admin/Catalog/Brand/Detail.aspx?brandId={4}'>{2}</a></td><td width='60%'>{3}</td>", chk, result.Brand.Image, result.Brand.Name, result.c,result.Brand.BrandID);
        sb.Append("<td>");
            foreach (var q in result.Sources)
            {
                string srcname = (q.Source1=="Motovicity" ? "Motovicity":"Direct");
                sb.AppendFormat("<img src='{0}' title='{1}'</img>", q.Image,srcname);
            }
            string date = string.Format("{0:MM/dd/yy}", result.Brand.DateCreated);
            string mod = string.Format("{0:MM/dd/yy}", result.Brand.DateModified);

        sb.Append("</td>");
        sb.AppendFormat("<td>{0}</td><td>{1}</td></tr>", date, mod);
    }
    sb.Append("</table>");
    resultSpan.InnerHtml = sb.ToString();
}

Как видите, я кодирую HTML-код для флажка и вставляю идентификатор бренда в атрибут значения.

0 голосов
/ 06 декабря 2010

Он не извлекает записи во время выполнения, в основном, если вы видите структуру, у которой есть информация в атрибуте всплывающей подсказки тега привязки, и для ее отображения используется jquery cluetip.

так что вы можете использовать любой плагин jquery tooltip для отображения того же, что и он.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...