powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с DataGrid
12 сообщений из 12, страница 1 из 1
Проблема с DataGrid
    #32524243
set79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять!

DataGrid считывает данные из каталога, затем эти файлы изменяются - архивируются, т.е. меняют расширение, после этого DataGrid перегружается заново.

Так вот после перезагрузки данные не меняются или меняются частично, хотя физически в каталоге все нормальльно и если прогнать через Debug - установку Break Point и F11 - все нормально.

Почему так происходит?
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32524353
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код в студию.
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32524485
set79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код пока на VB. На C# - будет только ночью :(

Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click
Dim oDataGridItem As DataGridItem
Dim ddlArchive As DropDownList
Dim sID1 As String
Dim sID2 As String
Try
For Each oDataGridItem In dgFileList.Items
ddlArchive = oDataGridItem.FindControl("archive")
If ddlArchive.SelectedItem.Text = "rar" Then
sID1 = CType(oDataGridItem.FindControl("lblColumn"), Label).Text
sID2 = Path.GetFileNameWithoutExtension(sID1)
Dim process As New Process
process.Start(Server.MapPath("Rar.exe"), "m -ep1 " & Server.MapPath("temp\" & sID2) & " " & Server.MapPath("temp\" & sID1))
process.Close()
Else
If ddlArchive.SelectedItem.Text = "zip" Then
sID1 = CType(oDataGridItem.FindControl("lblColumn"), Label).Text
sID2 = Path.GetFileNameWithoutExtension(sID1)
Dim process As New Process
process.Start(Server.MapPath("Wzzip.exe"), "-m " & Server.MapPath("temp\" & sID2) & " " & Server.MapPath("temp\" & sID1))
process.Close()
End If
End If
Next
Catch ex As Exception
lblSystemMessage.Text = ex.Message
End Try
CreateFileList()
End Sub


Private Sub CreateFileList()
Dim FileList As FileInfo()
lblCat.Text = Server.MapPath("").ToString & "\temp\"
FileList = New DirectoryInfo(Server.MapPath("temp\")).GetFiles
dgFileList.DataSource = FileList
dgFileList.DataBind()
End Sub
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32524558
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я лучше подожду ночи, глаз к концу дня Бэйсик не берёт )))
Может кто и раньше успеет помочь )
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32524571
set79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плохо...
Утром мне идти сдаваться :(
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32524728
set79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"У полночь близится, а Германа все нет..."
Перевод осуществил

C#

private void btnApprove_Click(object sender, System.EventArgs e)
{
DropDownList ddlArchive;
string sID1;
string sID2;

try
{
foreach (DataGridItem oDataGridItem in dgFileList.Items)
{
ddlArchive = (DropDownList)oDataGridItem.FindControl("archive");
if (ddlArchive.SelectedItem.Text == "rar")
{
sID1 = ((Label)oDataGridItem.FindControl("lblColumn")).Text.ToString();
sID2 = Path.GetFileNameWithoutExtension(sID1);
Process process = new Process();
Process.Start(Server.MapPath("Rar.exe"), "m -ep1 " + Server.MapPath(@"temp\" + sID2) + " " + Server.MapPath(@"temp\" + sID1));
process.Close();
}
else
{
if (ddlArchive.SelectedItem.Text == "zip")
{
sID1 = ((Label)oDataGridItem.FindControl("lblColumn")).Text.ToString();
sID2 = Path.GetFileNameWithoutExtension(sID1);
Process process = new Process();
Process.Start(Server.MapPath("Wzzip.exe"), "-m " + Server.MapPath(@"temp\" + sID2) + " " + Server.MapPath(@"temp\" + sID1));
process.Close();
}
}
}
}

catch (Exception exObj)
{
lblSystemMessage.Text = exObj.Message;
}
CreateFileList();

}


private void CreateFileList()
{
FileInfo[] FileList;
FileList = new DirectoryInfo(Server.MapPath(@"temp\")).GetFiles();
dgFileList.DataSource = FileList;
dgFileList.DataBind();
}
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32524932
set79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Help PLZ!!!
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32525193
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрел я вчера этот код, но никаких идей (((
Надо было просить весь проект и погонять у себя (((
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32527157
Фотография nex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не очень хорошо знаком с процессами в C#, так что прошу не принимать мои комментарии близко к сердцу :).

Пара идей:

1) Мне почему-то кажется, что процесс, где файлы архивируются не успевает отрабатывать к тому времени, когда происходит обновление грида.
Если я все правильно понял, этим может объяснятся то, что грид обновляется частично, и все нормально работает через дебагер (пошаговое выполнение дает процессу больше времени до того, как грид обновляется).

2) Попробуй убрать Process.Close() в обоих случаях? Я смотрел на несколько примеров в MSDN, и в них Process.Close() не использовался...
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32527941
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне успевает отрабатывать
Вролне рабочая идея - поддерживаю.
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32529500
set79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе так все и оказалось, но если убрать Process.Close(), то ничего не изменилось.
Так что, видимо, здесь следует искать метод, который увеличивает время процесса, но в MSDN такого не нашел.
...
Рейтинг: 0 / 0
Проблема с DataGrid
    #32529833
Фотография nex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй

Код: plaintext
process.WaitForExit();

Без параметров WaitForExit() должен ждать до тех пор, пока процесс не завершится, после чего управление будет переданно обратно твоей программе..

Вот еще ссылка на пару примеров, как это рекомендуют делать маздайцы :).
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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