标签: datarowview

如何在C#中将DataRow转换为DataRowView

可以或如何将DataRow转换为DataRowView?

例如:

   DataTable dt=ds.Tables[0];
   DataRow dr= dt.NewRow();           
   DataRowView drv = ???? 
Run Code Online (Sandbox Code Playgroud)

c# dataview datarowview winforms

12
推荐指数
1
解决办法
2万
查看次数

从DataRow获取DefaultView DataRowView

这里的情况:我需要绑定一个WPF FixedPage反对DataRow.绑定不起作用DataRows; 他们反对DataRowViews.我需要以最通用的方式做到这一点,因为我一无所知,也无法控制内容DataRow.

我需要的是能够得到DataRowView一个给定的DataRow.我不能使用该Find()方法,DefaultView因为它接受一个键,并且不能保证该表将具有主键集.

有没有人建议最好的办法解决这个问题?

wpf binding datarowview defaultview dataset

7
推荐指数
1
解决办法
1万
查看次数

如何从DataGridView中获取选定的对象?

我有一个System.Windows.Forms.DataGridView来展示我类型的对象IECInstance

我正在构建一个DataTable表并用我的对象填充表,并将 DataTable 设置为我的 DataGridView 的数据源。所以我的 DataGridView 正确显示了我的对象。

我现在的问题是在选择行时获取对象。

我的第一次尝试是使用这个:

IECInstance theObjectIWant = dataGridView.SelectedRows[0].DataBoundItem as IECInstance.
Run Code Online (Sandbox Code Playgroud)

DataBountItem返回一个DataRowView. 所以我在这里发现了很多关于这个问题的问题,有些人建议使用这个:

var drv = dataGridView1.SelectedRows[0].DataBoundItem as DataRowView;
var row = drv.Row as DataRow;
var val = row[X] as MyType;
Run Code Online (Sandbox Code Playgroud)

但据我所知,行[X]是对单元格(列)的访问,所以它与我的问题不匹配。

当我使用 aList<IECInstances>作为数据源而不是 DataTable 时,属性 DataBoundItem 返回正确的对象。但实际上我不想将数据源设置为列表。

为了确保:当我谈论对象时,我指的是 IECInstace 类型的业务对象。

c# datatable datarowview datagridview winforms

3
推荐指数
1
解决办法
4504
查看次数

在DataView中查找DataRowView的索引

有没有办法让一个选择的索引DataRowViewDataRow

我目前有以下代码

private long GetSelectedIndex(DataView dataView, string searchString)
{
    long selectedIndex = 0;

    foreach(DataRowView dataRow in dataView)
    {
        if(dataRow.Row.ItemArray.Contains(searchString)
        {
            //Do Something.... I've tried everything to get the index out of the dataRow
        }
    }

    return selectedIndex;
}
Run Code Online (Sandbox Code Playgroud)

c# dataview datarowview

1
推荐指数
1
解决办法
2046
查看次数

如何向绑定源添加新行

我正在尝试以编程方式向绑定源添加新行。我知道调用 bsSource.AddNew() 添加一个新行,我将其转换为 DataRowView 并设置我的值。我的问题是 - DataRowView.Row 显示 RowState 为 detached。我不希望它被分离;我相信它应该显示已添加 - 我也不希望它提交对数据库的更改(有一个非常有效的理由)。我想稍后选择时间。我的代码如下:

private Sub AddToRelationSource(binID As Integer, gradeID As Integer, IsChecked As Boolean)
            Dim drv As DataRowView = DirectCast(bsBinGrades.AddNew(), DataRowView)


            drv.Row("IsSelected") = IsChecked
            drv.Row("BinID") = binID
            drv.Row("GradeID") = gradeID
    ' I tried drv.EmdEdit(0 drv.Row.EndEdit() - Row State still shows detached

End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net datarowview datarow bindingsource

1
推荐指数
1
解决办法
1万
查看次数

从 DataRowView 获取 DataRow 的方法

我当前正在尝试获取 DataGrid 中选定行的内容。

问题是我实际上得到了一个 DataRowView 但我无法用它做任何事情......

我想访问 DataGrid 中所选行的所有字段。

这是可以帮助您的代码:

XAML:

<DataGrid  SelectionUnit="FullRow" SelectedItem="{Binding SelectedZone, Mode=TwoWay}" AutoGenerateColumns="True" Margin="0,167,6,24" Name="existingCase"  Width="780" >
        <DataGrid.RowStyle>
            <Style TargetType="{x:Type DataGridRow}">
                <EventSetter Event="MouseDoubleClick" Handler="resultDataGrid_MouseDoubleClick"/>
            </Style>
        </DataGrid.RowStyle>
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)

CS :

 private void resultDataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        if (sender != null)
        {
            SelectedZone = existingCase.SelectedItem; 

            // SelectedZone is declared as private object SelectedZone


            MessageBox.Show(SelectedZone.GetType().ToString()); 

            // Result to a System.Data.DataRowView
        }



    }
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助

c# wpf xaml datagrid datarowview

1
推荐指数
1
解决办法
3588
查看次数