Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос о DataGrid / 10 сообщений из 10, страница 1 из 1
20.12.2005, 10:15
    #33445755
alex_str
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
У меня есть DataGrid на первой странице. Из этой страницы вызывается вторая методом POPUP WINDOW в которой заполняется datatable (datatable - глобальный). Со второй страницы я вызываю метод "DataGrid1_DataBinding"

Private Sub DataGrid1_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.DataBinding

DataGrid1.DataSource = Global.dt

End Sub

Проблема в том что DataGrid не показывает новый datatable, а показывает только в том сдучае когда DataGrid1_DataBinding запусчин со страницы с DataGrid - ом.

Буду рад любым идеям.
Алекс.
...
Рейтинг: 0 / 0
20.12.2005, 12:11
    #33446167
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
alex_str Со второй страницы я вызываю метод "DataGrid1_DataBinding"
Вы не можете со второй страницы вызывать серверное событие на первой странице.
...
Рейтинг: 0 / 0
20.12.2005, 12:33
    #33446238
monstrU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
Axeleron alex_str Со второй страницы я вызываю метод "DataGrid1_DataBinding"
Вы не можете со второй страницы вызывать серверное событие на первой странице.
чтобы вызвать постбек клиентским скриптом с другой страницы, нужно пользоваться javascript функцией __doPostBack
...
Рейтинг: 0 / 0
20.12.2005, 13:28
    #33446477
alex_str
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
Axeleron alex_str Со второй страницы я вызываю метод "DataGrid1_DataBinding"
Вы не можете со второй страницы вызывать серверное событие на первой странице.

Я могу. На первой странице код такой :
Public Class GroupsGrid
........
Public Shared GroupsDG As System.Web.UI.WebControls.DataGrid
.........

Private Sub ibAddGroup_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibAddGroup.Click

Dim strScript As String = "<script language=javascript>window.open('GroupsDef.aspx?Status=NEW&Group=" & Session("row_inx") & "','cal','width=700,height=390,left=160,top=115')</script>"

GroupsDG = DataGrid1

Page.RegisterClientScriptBlock("GroupMode", strScript)
End Sub
end class

На второй такой :

Private Sub SaveRow(Optional ByVal row_idx As Integer = -1)

Global.dt.Rows.Add(dr_group)
GroupsGrid.GroupsDG.DataSource =Global.dt GroupsGrid.GroupsGrid.GroupsDG.DataBind()
End Sub
...
Рейтинг: 0 / 0
20.12.2005, 14:32
    #33446768
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
Насколько я понимаю (из приведённого тобой кода), идея второго окошка - добавить новую запись (строку) к существующей таблице (в первом окне), и програмно перезагрузить первую, дабы видеть полученное дополнение строки?
Если так, то предлагаю (примерно) такой вариант:
Код: plaintext
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.
первое окно

<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Session("count") +=  1 
        Label1.Text = Session("count")
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Main Page</title>
<script language="javascript" type="text/javascript">
// <!CDATA[

var newWindow
function Button1_onclick() {
		
     if (newWindow) {
        newWindow.close()
        newWindow = null
     }	
			
     newWindow = window.open("/PublicPages/Default2.aspx", "", "width=275, height=285, left=0, top=0")		
}

// ]]>
</script>
</head>
<body onunload="return window_onunload()">
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server"></asp:Label><br />
        testovoe okno nomer  1 <br />
        <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" /> </div>
    </form>
</body>
</html>

второе окно

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Parent Page</title>
<script language="javascript" type="text/javascript">
// <!CDATA[

function window_onunload() {
    window.opener.location.reload()
}

// ]]>
</script>
</head>
<body onunload="return window_onunload()">
    <form id="form1" runat="server">
    <div>
        testovoe okno nomer  2 </div>
    </form>
</body>
</html>
Остальное додумай сам...
З.Ы. делал на FW 2.0 так что не обессуть... ;)
...
Рейтинг: 0 / 0
20.12.2005, 16:37
    #33447205
alex_str
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
vladgrig !
Спасибо за помощь. Теперь все работает как прописал доктор :).
...
Рейтинг: 0 / 0
20.12.2005, 17:10
    #33447296
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
ну, раз уж день в плотную посвящён javascript (открыванию и закрыванию окошечеч на клиенте), тогда и я спрошу:
первое окно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var newWindow
function Button1_onclick() {
		
     if (newWindow) {
        newWindow.close()
        newWindow = null
     }	
			
     newWindow = window.open("/PublicPages/Default2.aspx", "", "width=275, height=285, left=0, top=0")		
}
второе окно
Код: plaintext
1.
 window.opener.location.reload()
фишка в том, что втрое окно при любом раскладе помнит кто его открыл, а вот первое окно после релоад, забывает кого оно открывало - как напомнить первому окну, что второе открыто им и если так, то его надо перед повторным открытием закрыть, дабы не плодить непомерное количество новых (вторых) окон!!!???
P.S. как-то нужно передать вот после этого window.opener.location.reload() что переменная первого окна var newWindow=второму окну???
...
Рейтинг: 0 / 0
20.12.2005, 17:29
    #33447371
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
vladgrig, при открытии popup окна в методе window.open укажите не пустой второй параметр (""), а дайте ему какое-то имя, например "popupwindow". Тогда всегда при новом вызове попапа он будет открываться в одном и том же окне.
...
Рейтинг: 0 / 0
20.12.2005, 18:30
    #33447557
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
Спасибо, земляк... ;)
...
Рейтинг: 0 / 0
20.12.2005, 18:55
    #33447631
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о DataGrid
Хочу, кстати, поправить свою оговорку: "Вы не можете со второй страницы вызывать серверное событие на первой странице". Я имел в виду, невозможно напрямую вызвать со второй страницы событие DataGrid1_DataBinding первой страницы, кроме как вызвать Submit() формы первой страницы.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос о DataGrid / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]