You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
4.2 KiB
111 lines
4.2 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace SunlightCentralizedControlManagement_SCCM_.View
|
|
{
|
|
/// <summary>
|
|
/// LogView.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class LogView : UserControl
|
|
{
|
|
string Log_time = DateTime.Now.ToString("yyyy-MM-dd");
|
|
DataTable logdataTable = new DataTable(); //建立RRODUCT缓存
|
|
long TEXT_L;
|
|
|
|
public LogView()
|
|
{
|
|
InitializeComponent();
|
|
|
|
comboBox_log.ItemsSource = new string[3] { "Log", "ERR", "Exchange" };
|
|
comboBox_log.Text = "Log";
|
|
|
|
logdataTable.Columns.Add("Name", typeof(string));
|
|
logdataTable.Columns.Add("Length", typeof(int));
|
|
logdataTable.Columns.Add("CreationTimeUtc", typeof(string));
|
|
logdataTable.Columns.Add("LastWriteTimeUtc", typeof(string));
|
|
|
|
LOG_file();
|
|
}
|
|
private void LOG_file()//建立列表
|
|
{
|
|
DirectoryInfo loginfo = new DirectoryInfo(System.Environment.CurrentDirectory + "\\"+comboBox_log.Text); //new文件夹
|
|
logdataTable.Clear();
|
|
foreach (var item in loginfo.GetFiles())
|
|
{
|
|
DataRow FileRow = logdataTable.NewRow();
|
|
FileRow["Name"] = item.Name;
|
|
FileRow["Length"] = item.Length / 1024;
|
|
FileRow["CreationTimeUtc"] = item.CreationTimeUtc;
|
|
FileRow["LastWriteTimeUtc"] = item.LastWriteTimeUtc;
|
|
logdataTable.Rows.Add(FileRow);
|
|
}
|
|
logdataTable.DefaultView.Sort = "Name DESC";
|
|
gridLog.ItemsSource = logdataTable.DefaultView.ToTable().DefaultView;
|
|
}
|
|
|
|
private void DataGrid_gridLogClick(object sender, MouseButtonEventArgs e)//数据表双击事件
|
|
{
|
|
int rownum = gridLog.SelectedIndex;//获取鼠标选中行并定义变量
|
|
if (rownum != -1)//判断鼠标定位是否有效
|
|
{
|
|
/*定位选中行及指定列单元格文本信息*/
|
|
LOGDATA_file((gridLog.Columns[0].GetCellContent(gridLog.Items[rownum]) as TextBlock).Text.TrimEnd());//
|
|
TEXT_L = long.Parse((gridLog.Columns[1].GetCellContent(gridLog.Items[rownum]) as TextBlock).Text.ToString()) *1024+1024;//
|
|
}
|
|
}
|
|
|
|
private async void LOGDATA_file(string dat) //读取文件显示到前端
|
|
{
|
|
Logtext.SelectAll();
|
|
Logtext.Cut();
|
|
Logtext.Document = new FlowDocument();
|
|
string filePath = System.Environment.CurrentDirectory + "\\"+comboBox_log.Text+ "\\";
|
|
try
|
|
{
|
|
Logtext.AppendText("Loading...");
|
|
string log_ = null;
|
|
string log_DAT = await Task<string>.Run(() =>
|
|
{
|
|
// 使用StreamReader读取文件
|
|
using (StreamReader reader = new StreamReader(filePath + dat))
|
|
{
|
|
// 读取文件直到文件的末尾
|
|
while (!reader.EndOfStream)
|
|
{
|
|
// 添加文件的每一行到RichTextBox
|
|
log_ = log_ + reader.ReadLine() + "\n";
|
|
}
|
|
}
|
|
return log_;
|
|
});
|
|
Logtext.SelectAll();
|
|
Logtext.Cut();
|
|
Logtext.AppendText(log_DAT);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// 处理可能发生的任何异常
|
|
MessageBox.Show("Error reading file: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
private void comboBox_log_DropDownClosed(object sender, EventArgs e)
|
|
{
|
|
LOG_file();
|
|
}
|
|
}
|
|
}
|
|
|