【问题标题】:How do I specify when to open a window when double clicking an item in data grid view?双击数据网格视图中的项目时,如何指定何时打开窗口?
【发布时间】:2012-02-17 17:43:45
【问题描述】:

让我先说我是非常 C# 和 Visual Studio 的新手(只是一个实习生),所以如果这是一个简单的问题,我深表歉意,但我似乎不能想办法。

我有一个带有数据网格视图的窗口,它显示项目类型描述(显示器、键盘、鼠标等)以及每个项目的库存计数。我希望能够双击一个项目以显示一个窗口,该窗口将显示有关该项目的详细信息以及添加新记录的位置。

我的问题是,如何指定打开每个窗口的时间?我能看到的只是内容双击,看起来如果你双击数据网格视图中的任何地方,事件就会发生......

如果我的问题没有意义,我很乐意澄清。

【问题讨论】:

  • 另一种选择是添加一列链接按钮列。它可能会带来更好的用户体验。
  • “列一个链接按钮列”?而且就用户体验而言,这只是为了让我们的 IT 部门(多达 4 人)跟踪我们的硬件,所以我是按照我老板的描述来设计的。
  • 在内容内双击,对单元格值进行匹配,如果是鼠标,编写程序启动一个新窗口,并传递参数。
  • 你发现了吗?我现在有时间帮忙,请确认一下 - 您是在使用 Windows 窗体项目吗?
  • 抱歉延迟回复 - 这是一个家庭访问周末,这意味着我没有时间独自一人。无论如何,是的,我正在使用 Visual Studio 中的 Windows 窗体来执行此操作。

标签: c# visual-studio datagridview double-click


【解决方案1】:

如果您询问如何在网格视图中创建一个显示链接的字段,您可以使用模板字段进行设计,例如:

<asp:GridView ID="GridView1" runat="server"
    AutoGenerateColumns="False" DataKeyNames="PartID"
    DataSourceID="ObjectDataSource1">
    <Columns>
        <asp:TemplateField HeaderText="Monitor" SortExpression="Monitor">
            <ItemTemplate>
                <asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# "Part.aspx?x=" + Eval("monitor")%>' Text='<%# Eval("monitor","{0:d}")%>'></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
        ....
    </Columns>
</asp:GridView>

【讨论】:

  • 非常有帮助,我会记住这一点,但不是我想要的。 (试图弄清楚如何更好地解释我的问题......)本质上,如果列表显示有不同的项目类型,我希望能够双击其中一个单元格(例如“监视器”)并打开它我可以在其中添加新监视器的窗口。
  • 哦,我明白了,创造这样的东西有很多东西。也许this 文章或this 文章可能会让您入门。
  • 谢谢!这两个实际上都非常有帮助 - 我已将它们添加到书签以供进一步使用。 [Visual Studio 不同意我的观点,所以整个弹出式项目都已提交,直到我弄清楚它做了什么。] -__-
【解决方案2】:

你可以这样做:Make Gridview data hyperlink

【讨论】:

  • 仍然不是我想要的。我在上面列出的答案中添加了一条评论,以帮助消除我对问题的困惑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 2013-03-24
  • 2012-02-07
  • 1970-01-01
相关资源
最近更新 更多