日期:2014-05-17  浏览次数:20845 次

Winform DataGrid 的行的Tag问题?
C# code

#region 数据绑定
        /// <summary>
        /// 数据绑定
        /// </summary>
        private void DataGridDataBind()
        {
            gv_SpendType.AutoGenerateColumns = false;
            List<SpendType> list = sb.GetSpendTypeAll();
            gv_SpendType.DataSource = list;
            
        }
        #endregion


这是绑定函数,我如何去设置每行的Tag为我的List<SpendType>里的一个SpendType对象呢?
在单元格单击事件里为什么会报空引用错误,之前不是绑定了吗,怎么还会为null?
C# code

#region 行单击事件
        /// <summary>
        /// 行单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gv_SpendType_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex != -1)
            {
               SpendType st = (SpendType )gv_SpendType.Rows[e.RowIndex].Tag;//这里报错空引用,Tag为Null何故,高手指教
            }
        }
        #endregion



------解决方案--------------------
因为你在绑定的时候没有绑定Tag呀,只是绑定列而已。需要指定才行!*****************************************
本内容使用CSDN小秘书回复
每天回帖即可得10分可用分!
*****************************************