程序代码段:DataTable排序-checkListBox绑定数据表,获取值,选择等操作。

来源:互联网 发布:货币乘数 知乎 编辑:程序博客网 时间:2024/05/16 07:34

2010.11 最近小项目使用到的:

 

DataGridView绑定数据时,时间格式显示问题

來源:http://blog.csdn.net/Haliput/archive/2008/10/09/3040256.aspx

今天做程序的时候,遇到了这样的问题,数据库里面是 2008-09-26 18:48:41.390 可是绑定后却显示为 2008-09-26 18:48

后来,网上找了一下别人的帖子,找到了解决方法。

用代码控制一下显示格式就可以了:

DataGridView.Columns["列名"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss.fff";

这样的话,想要什么格式就可以做成什么格式了。

--

DataTable 排序
來源:http://www.cnblogs.com/fmxyw/archive/2008/10/08/1306554.html

DataRow[] rows = dataTable1.Select("", "ord asc");

DataTable t = DataTable1.Clone();

t.Clear();

foreach (DataRow row in rows)

    t.ImportRow(row);

DataTable1 = t;

VS2005中这种方法最简单:
DataView dv = dt.DefaultView;
dv.Sort = "c1 Asc";
DataTable dt2 = dv.ToTable();

----

//拿到数据源
DataView dv = this.dtDataSource.Copy().DefaultView;
//排序
dv.Sort = "款 asc,項 asc,目 asc";
//过滤重复数据
//DataTable dt = dv.ToTable(true, "款", "項", "目");
//不过滤重复数据
DataTable dt = dv.Table.Copy();   

 

-----------

下面根據網絡上的知識點,寫到自己的小程序裏面。

 

checkListBox绑定数据表:

        tbMachine = MachineCls.GetTableCN
        Me.ChkListBoxHaltMachineIDs.DataSource = tbMachine
        Me.ChkListBoxHaltMachineIDs.DisplayMember = "名稱"
        Me.ChkListBoxHaltMachineIDs.ValueMember = "編號"

上面三个属性项,在vs2005没有提示的有这几个属性方法的,但vs2005是向下兼容,和都是继承于listbox,所以直接用就可以了。

--

获取选中项的text

 Private Function GetHaltMachineText() As String
        Dim SelectText As String = String.Empty
        For i As Integer = 0 To Me.ChkListBoxHaltMachineIDs.Items.Count - 1
            If Me.ChkListBoxHaltMachineIDs.GetItemChecked(i) Then
                SelectText &= IIf(String.IsNullOrEmpty(SelectText), "", ";") & Me.ChkListBoxHaltMachineIDs.GetItemText(Me.ChkListBoxHaltMachineIDs.Items(i))
            End If
        Next
        Return SelectText
    End Function

--

获取选中项的value(也就是绑定数据表的ValueMember 值)

    Private Function GetHaltMachineValue() As String
        Dim SelectValue As String = String.Empty
        For i As Integer = 0 To Me.ChkListBoxHaltMachineIDs.Items.Count - 1
            If Me.ChkListBoxHaltMachineIDs.GetItemChecked(i) Then
                Me.ChkListBoxHaltMachineIDs.SetSelected(i, True)
                SelectValue &= IIf(String.IsNullOrEmpty(SelectValue), "", ";") & Me.ChkListBoxHaltMachineIDs.SelectedValue
            End If
        Next
        Return SelectValue
    End Function

--设置value项的选中状态:Checked

    Private Sub PickerHaltMachineValue(ByVal value As Object)
        For i As Integer = 0 To Me.ChkListBoxHaltMachineIDs.Items.Count - 1
            Me.ChkListBoxHaltMachineIDs.SetSelected(i, True)
            If Me.ChkListBoxHaltMachineIDs.SelectedValue = value Then
                Me.ChkListBoxHaltMachineIDs.SetItemChecked(i, True)
            End If
        Next
    End Sub

--

                        ms = table.Cells(2).Value.ToString.Split(";")
                        For i As Integer = 0 To ms.Length - 1
                            PickerHaltMachineValue(ms(i))
                        Next
                        Me.ChkListBoxHaltMachineIDs.ClearSelected()

原创粉丝点击