Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Роман67
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 17
1

Изменение значения ячейки Grid

12.12.2018, 15:26. Просмотров 418. Ответов 3

Здравствуйте.
Помогите пожалуйста!
Значение прогресса загрузки на данный момент реализовано, но выводится цифрами в блок <div> рядом с таблицей
View
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   
    function qwe() {
            $.ajax({
                url: "/Main/GetVal",
                type: "POST",
            })
                .done(function (data) {
                    document.getElementById("qwer").remove();
                    var newdiv = document.createElement("div");
                    newdiv.innerHTML = "<div id='qwer'><p>" + data + " </p></div>";
                    document.getElementById("qwerId").appendChild(newdiv);
                    if (data != 100) {
                        setTimeout(qwe, 10);
                    }
                     
                });       
    }
Controller
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public String GetVal()
        {
            string Val = "";
            XmlDocument docTask1 = new XmlDocument();
                docTask1.LoadXml(Get(Project.Models.MainViewModel.TaskHref));
                foreach (XmlElement elTask in docTask1.DocumentElement)
                {
                    if (elTask.Name == "Progress")
                    {
                        Val = elTask.InnerText;
                    }
                }
            return Val;
        }
)
Как отобразить его в соответствующей ячейке грида, после добавления нового элемента? Чтобы было более понятно, вот образец чего именно я хочу добиться.
0
Миниатюры
Изменение значения ячейки Grid  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2018, 15:26
Ответы с готовыми решениями:

Получение значения из ячейки таблицы
Суть такова. Мне нужно вытащить id из ячейки таблицы и присвоить его переменной. Как это сделать?

Подмена значения ячейки GridView
Кто подскажет, как можно подменить отображаемое значение в ячейки в GridView? Или вручную...

Чтение значения из редактируемой ячейки GridView
Добрый день! В GridView (в ItemTemplate) содержится TextBox . Как прочитать содержимое TextBox...

Изменение значения фиксированной ячейки в зависимости от активной ячейки
Добрый день. Помогите пожалуйста написать макрос так, чтобы при изменении активной ячейки,...

Изменение фона ячейки в зависимости от значения ячейки
Подскажите пжт, как при формировании отчета и вывода его в таблицу в 1с 7.7 программно менять цвет...

3
lvlkoo
.NET C#,ASP.NET MVC
Эксперт .NET
540 / 462 / 213
Регистрация: 16.10.2010
Сообщений: 1,852
Завершенные тесты: 2
12.12.2018, 15:28 2
Покажите как таблицу рисуете
0
Роман67
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 17
12.12.2018, 16:21  [ТС] 3
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 @(Html.Kendo().Grid<GridVApp>()
                                            .Name("GridVApp")
                                            .Columns(col =>
                                            {
                                                col.Bound(x => x.NameVApp);
                                                col.Bound(x => x.Status);                                            
                                                col.Bound(x => x.CountVM);
                                                col.Command(command =>
                                                {
                                                    command.Destroy().Text("Удалить");
                                                    command.Edit().Text("Статус");
                                                }).Width(160);
                                            })
                                            .ToolBar(toolBar =>
                                            {
                                                toolBar.Template("<input type='button' id='ButWindow' value='Добавить VApp (по шаблону)' class='btn btn-primary' data-toggle='modal' data-target='#WindowAddVApp'/> <input type='button' id='ButWindow' value='Добавить VM' class='btn btn-primary' data-toggle='modal' data-target='#Window'/> <input type='button' value='Обновить' class='btn btn-primary' onclick='Update()'/>");
                                            })
                                            .DataSource(dataSource => dataSource
                                            .Ajax()
                                            .Model(model => model.Id(p => p.NameVApp))
                                            .Destroy(destroy => destroy.Action("DestroyVApp", "Main").Data("DestroyVApp_data"))
                                            .Update(update => update.Action("PowerOn", "Main", new { NameVApp = "#=NameVApp#" }).Data("UpdateVApp_data"))
                                            .Read(read => read.Action("GridVApp", "Main").Data("Read_data"))
                                            )
                                            .Editable(editable => editable.Mode(GridEditMode.PopUp).Window(window => window.Width(480)))
                                            .Events(events => events.DataBound("onDataBound").Save("onSave").Cancel("onCancel"))
                                            .ClientDetailTemplateId("Details")
                )
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 function NewVApp() {
        
        var q = false;
        $.ajax({
            url: "/Main/NewVApp",
            type: "POST",
            data: {
                NameVApp: $("#NameVApp1").val(),
                NameVM: $("#NameVM1").val(),
                VDCname: $("#VDCname").val(),
                Template: $("#Template").val(),
               TemplateMB1: $('#TemplateMB1').val()
            }
        })
            .done(function (data) {            
                $("#GridVApp").data("kendoGrid").dataSource.read();
                q = true;
                if (q == true) {
                    qwe();
                }
            });     
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  public ActionResult GridVApp([DataSourceRequest] DataSourceRequest request, string VDCname)
        {
            try { 
            string VApp = "";
            int Count=0;
            string St = "";
            List<GridVApp> list = new List<GridVApp>();
            string url1 = VdcHref(VDCname);
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(Get(url1));
            foreach (XmlNode noda in doc.DocumentElement)
            {
 
                if (noda.LocalName == "ResourceEntities")
                {
                    foreach (XmlNode nodaX in noda.ChildNodes)
                    {
                        if (nodaX.LocalName == "ResourceEntity")
                        {
                            if (nodaX.Attributes["type"].Value == "application/vnd.vmware.vcloud.vApp+xml")
                            {
                                VApp = nodaX.Attributes["name"].Value;
                                XmlDocument doc1 = new XmlDocument();
                                doc1.LoadXml(Get(nodaX.Attributes["href"].Value));
                              
                                foreach (XmlNode noda1 in doc1.DocumentElement)
                                {
                                    
                                    if (noda1.ParentNode.Attributes["status"].Value == "1")
                                    { St = "Остановлен"; }
                                    if (noda1.ParentNode.Attributes["status"].Value == "3")
                                    { St = "Приостановлен"; }
                                    if (noda1.ParentNode.Attributes["status"].Value == "4")
                                    { St = "Работает"; }
                                    if (((noda1.ParentNode.Attributes["status"].Value == "8") && (noda1.ParentNode.Attributes["deployed"].Value == "true"))|| (noda1.ParentNode.Attributes["status"].Value == "10"))
                                    { St = "Частично работает"; }
                                    if ((noda1.ParentNode.Attributes["status"].Value == "8") && (noda1.ParentNode.Attributes["deployed"].Value == "false"))
                                    { St = "Выключен"; }
                                    if (noda1.LocalName == "Children")
                                    {                      
                                        foreach (XmlNode nodaY in noda1.ChildNodes)
                                        {
                                       
                                            if (nodaY.LocalName == "Vm")
                                            {
                                                Count = Count + 1;
                                            }
                                           
                                        }
                                    }                                 
                                }
                                list.Add(new GridVApp { Status = St, CountVM = Count, NameVApp = VApp });
                                Count = 0;
                            }
                        }
                    }
                }
            }
            var listCatalog = list.Select(m => new GridVApp { NameVApp = m.NameVApp, Status = m.Status, CountVM = m.CountVM }).ToList();
            var result = listCatalog.ToDataSourceResult(request, o => new
            {
                o.NameVApp,
                o.Status,
                o.CountVM
            });
            return Json(result, JsonRequestBehavior.AllowGet);
            }
            catch (Exception)
            {
                ViewBag.Res = "Ошибка";
                return View("Result");
            }
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  public ActionResult NewVApp(string NameVApp, string NameVM, string VDCname, string Template, string TemplateMB1)
        {
           
                string TemplateVM = "";
                string StorageP = "";
                string Href = "";
                string VirtHard = "";
                string Param = "";
            XmlDocument doc = new XmlDocument();
                doc.LoadXml(Get(Template));
                foreach (XmlNode noda in doc.DocumentElement)
                { 
                    if (noda.LocalName == "Entity")
                    {
                        Href = noda.Attributes["href"].Value;
                    }
 
                }
                XmlDocument doc1 = new XmlDocument();
                doc1.LoadXml(Get(Href));
                foreach (XmlNode noda1 in doc1.DocumentElement)
                {
                    if (noda1.LocalName == "Link")
                    {
                        if (noda1.Attributes["rel"].Value == "storageProfile") StorageP = noda1.Attributes["href"].Value;
                    }
                        if (noda1.LocalName == "Children")
                    {
                        foreach (XmlNode nodaY in noda1.ChildNodes)
                        {
                            if (nodaY.LocalName == "Vm")
                            {
                                TemplateVM = nodaY.Attributes["href"].Value;
                                foreach (XmlElement nodaQWE in nodaY.ChildNodes)
                                {
                               
                                    if(nodaQWE.LocalName == "VirtualHardwareSection")
                                    {
                                    VirtHard = nodaQWE.Attributes["ns10:href"].Value;
                                    }
                                }
                            }
                        }
                    }
                }
            bool x = false;
            XmlDocument docZ = new XmlDocument();
            docZ.LoadXml(Get(VirtHard));
             Param = Param + "<ovf:VirtualHardwareSection ";
             foreach (XmlNode atr in docZ.DocumentElement.Attributes)
             {
 
                 Param = Param + atr.OuterXml + " ";
             }
             Param = Param + "> <ovf:Info>Virtual hardware requirements</ovf:Info> ";
         
                foreach (XmlElement el in docZ.DocumentElement)
                {
                    if (el.LocalName == "Item")
                    {
                        foreach (XmlText text in el["rasd:Description"])
                        {
                            if (text.Value == "Memory Size")
                            {
                                x = true;
                            }
                        }
 
                        if (x == true)
                        {
                            foreach (XmlText text in el["rasd:VirtualQuantity"])
                            {
                                text.Value = TemplateMB1;
                            Param = Param +"<ovf:Item>"+ el.InnerXml+"</ovf:Item>";
                            }
                        }
                    }
 
                }
            string Task = "";
            string TaskHref = "";
            Param = Param + "</ovf:VirtualHardwareSection>";
            Param = Param.Replace("\"","\'");
              string url = VdcHref(VDCname) + "/action/instantiateVAppTemplate";
                string ContentType = "application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml";
                string postData = "<?xml version='1.0' encoding='UTF-8'?> <InstantiateVAppTemplateParams   xmlns='http://www.vmware.com/vcloud/v1.5'   name='"+NameVApp+"'   deploy='true'   powerOn='false'   xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'   xmlns:ovf='http://schemas.dmtf.org/ovf/envelope/1'>   <Description>Example FTP Server</Description>    <Source href='"+Href+ "'/>  <SourcedItem>      <Source href='"+TemplateVM+"'/>      <VmGeneralParams>         <Name>"+NameVM+ "</Name>         <Description>Primary FTP Server Instance</Description>         <NeedsCustomization>true</NeedsCustomization>      </VmGeneralParams>  <InstantiationParams> "+Param+" </InstantiationParams>  <StorageProfile href='" + StorageP+"'>      </StorageProfile>   </SourcedItem>   <AllEULAsAccepted>true</AllEULAsAccepted> </InstantiateVAppTemplateParams>";
             Task = PostPUT(url, postData, ContentType, "Post");
            ViewBag.Res = Task;
            XmlDocument docTask = new XmlDocument();
            docTask.LoadXml(Task);
            foreach (XmlNode nodaTask in docTask.DocumentElement)
            {
                if (nodaTask.LocalName == "Tasks")
                {
                    foreach (XmlNode nodaTask1 in nodaTask.ChildNodes)
                    {
                        if (nodaTask1.LocalName == "Task")
                        {
                            TaskHref = nodaTask1.Attributes["href"].Value;
                        }
                    }
                }
            }
            Project.Models.MainViewModel.TaskHref = TaskHref;
            return View("Result");
 
        }
Добавлено через 40 минут
Т.е. получается, что добавление происходит Post запросом //Task = PostPUT(url, postData, ContentType, "Post");
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 public string PostPUT(string url, string postData, string ContentType, string Type)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = Type;
            req.Headers.Add("Authorization", "Bearer " + Project.Models.MainViewModel.Token);
            req.Headers.Add("Accept-Charset", "utf-8, iso-8859-1; q=0.5");
            req.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
            req.Accept = "application/*+xml;version=30.0";
            req.ContentType = ContentType;
            byte[] bytes = System.Text.Encoding.ASCII.GetBytes(postData);
            req.ContentLength = bytes.Length;
            using (Stream os = req.GetRequestStream())
            {
                os.Write(bytes, 0, bytes.Length);
            }
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            Stream Stream = res.GetResponseStream();
            StreamReader sr = new System.IO.StreamReader(Stream);
            string Out = sr.ReadToEnd();
            sr.Close();
            return Out;
        }
Добавляется новая VApp с одной виртуальной машиной.
Обновляем таблицу //$("#GridVApp").data("kendoGrid").dataSource.read(); (Таблица заполняется результатом ответа get запроса//doc.LoadXml(Get(url1))
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public string Get(string url)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "GET";
            req.Headers.Add("Authorization", "Bearer " + Project.Models.MainViewModel.Token);
            req.Headers.Add("Accept-Charset", "utf-8, iso-8859 - 1; q=0.5");
            req.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
            req.Accept = "application/*+xml;version=30.0";
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            Stream stream = res.GetResponseStream();
            StreamReader sr = new System.IO.StreamReader(stream);
            string Out = sr.ReadToEnd();
            sr.Close();
            return Out;
        }
Во время добавления, создается задача, в которой указывается прогресс (0..100), его мы считываем ajax запросами пока значение не станет равным 100.
Вот и вопрос, как обратиться к ячейке со статусом, например по имени созданного VApp и как туда вставить значение прогресса загрузки?
0
Роман67
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 17
12.12.2018, 16:27  [ТС] 4
Внешний вид таблицы
0
Миниатюры
Изменение значения ячейки Grid  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2018, 16:27

Изменение значения ячейки по щелчку
Добрый день. Подскажите код как увеличивать значение ячейки на 1 в таблице по 2му щелчку или по...

Изменение значения ячейки в таблице
Добрый день, столкнулся с необходимостью добавления столбца в небольшой табличке в microsoft sql...

Изменение значения ячейки в CellFormatting
private void songsDataGridView_CellFormatting(object sender, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru