【问题标题】:Getting a specific value in a Datagrid in MSDN visual basic在 MSDN Visual Basic 中的 Datagrid 中获取特定值
【发布时间】:2013-03-14 20:49:53
【问题描述】:

所以我有一个简单的问题,但经过这么多 Google 搜索后,我似乎找不到一个好的例子。

我正在尝试从数据网格中获取一个非常具体的单元格。我知道数据网格正在工作,因为它运行良好,我可以在我的程序中看到我想从中看到的所有值。我想要做的是从数据网格的特定单元格中获取一个值。我希望它会像这样简单。

dataGrid1.DataSource = someDataSet

dataGrid.DataBind()

Label1.Text = dataGrid1.CellValue(rowValue, columnValue).ToString() '这是无效的

我一直看到的是 e.userclickshere 或其他东西,稍后会有用,但现在我只想从 dg 中获取特定的单元格。

【问题讨论】:

    标签: vb.net msdn cells


    【解决方案1】:

    FWIW:一种方法是直接从您的 someDataSet 中获取它。这样您就不会混合数据和 UI。

    关于如何从数据集中获取数据 - 使用智能感知。
    有点像

    Dim myValue as Object = myDataset.Tables(myTableIndexOftenZero).Rows(myRowIndex)(myFieldIndex)
    

    但除非必要,否则不要使用无类型数据集。类型化数据集免费为您提供名称和类型。 有点像

    Dim myValue as Integer = myDataset.MyTable(myRowIndex).MyProperty
    

    顺便说一句:IIRC 你可以用一个表格来喂你的网格

    myTable.DataSource = myDataSet.Tables(0)
    

    BTW2:如果您从 Dataset 继承并实现自己的东西,您可以获得一些不错的受保护事件和属性,以对数据集/数据表中的更改做出反应。但我今天会选择 BTW3,如下所示。

    顺便说一句:今天你可能想完全摆脱数据集,而是使用类列表。早些时候有一些摩擦,但今天......

    【讨论】:

    • 是的,我后来也想到了。我的数据集只是通过 Dim someDataSet As DataSet = GetTablefromSqlServer() 设置的,我怎么能从 someDataSet 中获取它? Label1.Text = someDataSet.cell(rowValue, columnvalue) ?
    【解决方案2】:

    类似

    Dim dt as datatable = someDataSet.Tables(0) 'Or whatever table is
    
    Label1.text = dt(rowValue)(columnValue).toString()
    

    【讨论】:

      猜你喜欢
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 2016-12-06
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      相关资源
      最近更新 更多