Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows mobile 如何使datagrid列成为来自windows mobile应用程序中数据库的超链接?_Windows Mobile_C# 3.0 - Fatal编程技术网

Windows mobile 如何使datagrid列成为来自windows mobile应用程序中数据库的超链接?

Windows mobile 如何使datagrid列成为来自windows mobile应用程序中数据库的超链接?,windows-mobile,c#-3.0,Windows Mobile,C# 3.0,在windows mobile应用程序中,我有DataGrid控件,它在加载页面上显示来自数据库的数据。 我希望DataGrid列充当HyperLink,以便MessageBox或另一个窗口Form将打开并显示所选DatGrid列的详细内容。您只需捕获单击事件并使用列的内容即可打开您的网址 如果您有一个包含三列的表,每列都包含一个url DataTable dataTable = new DataTable(); dataTable.Columns.Add("Website1",

在windows mobile应用程序中,我有
DataGrid
控件,它在加载页面上显示来自
数据库的数据。

我希望
DataGrid
列充当
HyperLink
,以便
MessageBox
或另一个窗口
Form
将打开并显示所选
DatGrid
列的详细内容。

您只需捕获单击事件并使用列的内容即可打开您的网址

如果您有一个包含三列的表,每列都包含一个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());
        }
    }