黑马程序员技术交流社区

标题: DataGridComboBoxColumn控件绑定的问题 [打印本页]

作者: 贰的23次方    时间: 2014-4-3 16:38
标题: DataGridComboBoxColumn控件绑定的问题
本帖最后由 贰的23次方 于 2014-4-4 12:57 编辑

数据库两张表的model如下
public class User
    {
        public Guid ID { set; get; }
        public string UserName { set; get; }

        public string Password { set; get; }

        public bool IsDeleted { set; get; }
        public bool IsLocked { set; get; }
        public string RealName { set; get; }
    }

public class T_OperLog
    {
        public System.Guid ID { get; set; }
        public System.Guid OperID { get; set; }
        public System.String Action { get; set; }
        public System.DateTime OperDate { get; set; }
        public System.Boolean IsDeleted { get; set; }
    }


复制代码

在datagrid中显示( 日期  操作员   行为)(
复制代码
<DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding OperDate}" Header="日期" Width="150"></DataGridTextColumn>
                    <DataGridComboBoxColumn x:Name="cmbOperName" SelectedValueBinding="{Binding OperID}"    DisplayMemberPath="UserName"  SelectedValuePath="ID" Header="操作人" Width="110"></DataGridComboBoxColumn>
                    <DataGridTextColumn Binding="{Binding Action}" Header="行为" Width="250"></DataGridTextColumn>
<DataGrid.Columns>

设置数据源如下

            string sql = "select * from T_OperLog where " + string.Join(" and ", whereList);
            
            T_OperLogDAL op = new T_OperLogDAL();
            dataGridLog.ItemsSource = op.SearchLog(sql, paramaters);

结果显示出了日期和行为,操作员(用DataGridComboBoxColumn绑定)没显示出来,但是数据库中是有的,并且下断点, dataGridLog.ItemsSource 也是有的,但是为什么显示不出呢?





作者: 许庭洲    时间: 2014-4-3 16:50
1. DataGrideView中的ComboBox列:设定列的ColumnType为DataGridViewComboBoxColumn;
2. DataSource属性设定要数据项绑定的数据源;
3. DisplayMember属性为显示的属性;
4. ValueMember为值,通过SelectedValue取得的属性。然后绑定SelectedValue属性到表的字段。

作者: 贰的23次方    时间: 2014-4-3 18:18
许庭洲 发表于 2014-4-3 16:50
1. DataGrideView中的ComboBox列:设定列的ColumnType为DataGridViewComboBoxColumn;
2. DataSource属性设 ...

1.DataGrideView……没有用到啊。
2,3,4,我已经按要求做了啊
作者: 贰的23次方    时间: 2014-4-4 12:57
发现错误了,在load的时候没有给cmbOperName设置数据源




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2