在Windows移动应用程序中,我有DataGrid
控件,可在page_load上显示来自Database
的数据。
我希望DataGrid
列作为HyperLink
,以便MessageBox
或其他窗口Form
打开并显示所选DatGrid
列的详细内容。
答案 0 :(得分:0)
您可以捕获点击事件并使用列的内容打开您的网址
如果您有一个包含三个列的表,每个列都包含一个URL。
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Website1", typeof(String));
dataTable.Columns.Add("Website2", typeof(String));
dataTable.Columns.Add("Website3", typeof(String));
DataRow dr = dataTable.NewRow();
dr["Website1"] = "http://www.bbc.co.uk";
dr["Website2"] = "http://www.ebay.co.uk";
dr["Website3"] = "http://www.google.co.uk";
dataTable.Rows.Add(dr);
dataGrid1.DataSource = dataTable;
然后,您可以将其用作超链接
private void dataGrid1_Click(object sender, EventArgs e)
{
int rowNumber = dataGrid1.CurrentCell.RowNumber;
int columnNumber = dataGrid1.CurrentCell.ColumnNumber;
System.Diagnostics.Process.Start("iexplore.exe",
dgSites[rowNumber, columnNumber].ToString());
}
如果您只想要某个列启动您的链接,请通过检查列号来考虑该问题。
private void dataGrid1_Click(object sender, EventArgs e)
{
int rowNumber = dataGrid1.CurrentCell.RowNumber;
int columnNumber = dataGrid1.CurrentCell.ColumnNumber;
if (columnNumber == 2)
{
System.Diagnostics.Process.Start("iexplore.exe",
dgSites[rowNumber, columnNumber].ToString());
}
}
从你的问题中确切地想要你想要实现但是如果你只是想在消息框中显示该项目有点不清楚...
private void dataGrid1_Click(object sender, EventArgs e)
{
int rowNumber = dataGrid1.CurrentCell.RowNumber;
int columnNumber = dataGrid1.CurrentCell.ColumnNumber;
if (columnNumber == 2)
{
MessageBox.Show(dgSites[rowNumber, columnNumber].ToString());
}
}