将以上代码的提取用户信息按钮换成读取文件按钮,并且只在gridview中按列显示姓名属性
时间: 2024-04-15 13:30:38 浏览: 158
响应 GridView 控件中的按钮事件
4星 · 用户满意度95%
以下是将代码修改为使用读取文件按钮,并只在 GridView 中按列显示姓名属性的示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
public class UserInfo
{
public string Name { get; set; }
public string Age { get; set; }
public string Gender { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
public class Program : Form
{
private GridControl gridControl;
private GridView gridView;
private Button readFileButton;
public Program()
{
gridControl = new GridControl();
gridView = new GridView();
readFileButton = new Button();
readFileButton.Text = "读取文件";
readFileButton.Click += ReadFileButton_Click;
gridView.GridControl = gridControl;
gridControl.Dock = DockStyle.Fill;
gridControl.ViewCollection.Add(gridView);
Controls.Add(gridControl);
Controls.Add(readFileButton);
}
private void ReadFileButton_Click(object sender, EventArgs e)
{
string filePath = "path/to/your/txt/file.txt";
UserInfo userInfo = ExtractUserInfo(filePath);
gridView.Columns.Clear();
gridView.Columns.AddVisible("Name", "姓名");
gridView.AddNewRow();
gridView.SetRowCellValue(0, "Name", userInfo.Name);
gridView.UpdateCurrentRow();
}
private UserInfo ExtractUserInfo(string filePath)
{
string content = File.ReadAllText(filePath);
string name = GetMatchValue(content, @"姓名:([\w\s]+)");
string age = GetMatchValue(content, @"年龄:(\d+)");
string gender = GetMatchValue(content, @"性别:([\w\s]+)");
string phone = GetMatchValue(content, @"电话:(\d+)");
string email = GetMatchValue(content, @"邮箱:([\w\.]+@[\w\.]+)");
UserInfo userInfo = new UserInfo
{
Name = name,
Age = age,
Gender = gender,
Phone = phone,
Email = email
};
return userInfo;
}
private string GetMatchValue(string content, string pattern)
{
Match match = Regex.Match(content, pattern);
return match.Success ? match.Groups[1].Value : null;
}
public static void Main(string[] args)
{
Application.Run(new Program());
}
}
```
在这个修改后的示例代码中,我们创建了一个继承自 `Form` 的 `Program` 类,并在窗体中添加了一个按钮 `readFileButton`。当按钮被点击时,会触发 `ReadFileButton_Click` 方法,在该方法中调用 `ExtractUserInfo` 函数读取文件并提取用户信息。
在点击按钮后,我们首先清除 GridView 中的列,然后添加一个名为 "Name" 的列。接着调用 `gridView.AddNewRow()` 添加一行数据,并使用 `gridView.SetRowCellValue` 方法将提取的姓名属性值设置到 "Name" 列中。最后,调用 `gridView.UpdateCurrentRow()` 更新当前行。
请确保将 `filePath` 替换为实际的文件路径。运行程序后,点击按钮即可触发读取文件和提取操作,并将提取的姓名属性值显示在 GridView 的 "Name" 列中。
阅读全文