嗨,我保存在数据库中的用户文件的地址,我想当用户点击他们从他们的系统文件是打开的。
这是我的Linq Queay:
public IEnumerable<object> readPaging(int page, int perPage, string search = null, string searchType = null)
{
DB db = new DB();
var q = (from i in db.Contentss
select new
{
image = i.image,
title = i.title,
address = i.address,
date = i.date
}
).OrderByDescending(i => i.date).Skip((page - 1) * perPage).Take(perPage).ToList();
return q;
}
这是我的fill datagrid视图函数:
private void dataGridFill(IEnumerable<object> list)
{
dataGridViewX1.DataSource = null;
//dataGridViewX1.DataSource = list;
dataGridViewX1.RowTemplate.Height = 150;
// image Column
DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
dataGridViewX1.Columns.Add(imageColumn);
imageColumn.HeaderText = "تصویر";
((DataGridViewImageColumn)dataGridViewX1.Columns[0]).ImageLayout = DataGridViewImageCellLayout.Stretch;
dataGridViewX1.Columns[0].Width = 150;
imageColumn.Name = "image";
// link Column
DataGridViewLinkColumn titleColumn = new DataGridViewLinkColumn();
dataGridViewX1.Columns.Add(titleColumn);
titleColumn.HeaderText = "عنوان";
titleColumn.Name = "title";
foreach (var item in list)
{
int index = dataGridViewX1.Rows.Add();
dataGridViewX1.Rows[index].Cells["image"].Value = (byte[])item.GetType().GetProperty("image").GetValue(item, null);
string text = (string)item.GetType().GetProperty("title").GetValue(item, null);
string link = (string)item.GetType().GetProperty("address").GetValue(item, null);
string linkHtml = "<a href=\"" + link + "\">" + text + "</a>";
dataGridViewX1.Rows[index].Cells["title"].Value = linkHtml;
}
}
问题我想显示标题为文本和地址作为链接,以便用户可以点击它们并打开文件.但运行后gridview显示我的linkHtml内容,当我点击它什么也没发生,没有文件打开.如何可以解决这个问题?注意:文件可以是各种类型,但大多数是txt和doc。
1条答案
按热度按时间gpfsuwkq1#
在this article中,您可以使用
DataGridView.CellContentClick
或DataGridView.CellClick
事件来打开文件或处理其他逻辑。