WPF 之 Datagrid

现在人年龄不大,记性却差的要命。对于我这么懒的小白。算了,我还是记一下吧……^-^……

一、Datagrid 与 数据库 之 Datacontent

  <DataGrid x:Name="dgDeviceData" CanUserAddRows="False" IsReadOnly="True" x:FieldModifier="public" ItemsSource="{Binding Path=table2}" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="801" Height="365" LoadingRow="dgDeviceData_LoadingRow"/>

 //自动添加行号

private void dgDeviceData_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            e.Row.Header = e.Row.GetIndex() + 1;
        }

  namespace ManagementSystem
{
    class DataBase
    {

      public static DataSet GetDeviceInfo()
        {
            try
            {
                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open(); //打开数据库连接
                }
                                
                string sql = "select * from tb_DeviceInfos";
                SqlDataAdapter mySqlAdap = new SqlDataAdapter(sql, connection);
                DataSet ds = new DataSet();
                ds.Clear();
                
                //  mySqlAdap.Fill(ds);
                DataTable table1 = new DataTable();
                mySqlAdap.Fill(ds, "table2");
                return ds;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }

  }

}

//添加设备

 try
            { 
                //插入新设备信息到数据库
                string sql = string.Format("insert into tb_DeviceInfos(设备编号,设备名称,设备类型,功率等级,载波功率,服务器IP,服务器端口) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');select @@Identity from tb_DeviceInfo",
                      tbox_deviceID.Text.Trim(), tbox_DeviceName.Text.Trim(), deviceType, PowerLevel, tbox_carrierPower.Text.Trim(), tbox_serverIP.Text.Trim(), tbox_serverPort.Text.Trim());
                bool addOK = DataBase.modifyDevice(sql);
                if (addOK == true)
                {
                    MessageBox.Show("新增加的设备名称是:" + tbox_DeviceName.Text, "提示",  MessageBoxButton.OKCancel, MessageBoxImage.Information);
                }
                DataBase.connection.Close();


                DeviceManage deviceManage = (DeviceManage)this.Owner;

                deviceManage.dgDeviceData.DataContext = DataBase.GetDeviceInfo();
            }
            catch
            {

                MessageBox.Show("该设备标号已存在!","提示",MessageBoxButton.OKCancel,MessageBoxImage.Stop);
            }

        /// <summary>
        /// 设备新增、删除、更新、修改
        /// </summary>
        /// <param name="sqlCom"></param>
        /// <returns></returns>
        public static bool modifyDevice(string sqlCom)
        {
            string sql = sqlCom;
            SqlCommand command = new SqlCommand(sql,DataBase.connection);
            if (DataBase.connection.State == ConnectionState.Closed)
            {
                DataBase.connection.Open();
            }
            if (command.ExecuteNonQuery() == 1)
            {
                return true;
            }
            else
                return false;
            
        }

二、Datagrid 与 list 之 ItemSource

 <DataGrid CanUserAddRows="False" x:FieldModifier="public" x:Name="dgUserInfo" Margin="5" ItemsSource="{Binding Path=table1}" SelectedValuePath="{Binding Path=UserNum}" AutoGenerateColumns="False" HorizontalAlignment="Left" VerticalAlignment="Top" Width="451" Height="280" LoadingRow="dgUserInfo_LoadingRow">
            <DataGrid.Columns >
 <DataGridTextColumn IsReadOnly="True" Header="UserNum" Binding="{Binding UserNum,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  Width="80" />
 <DataGridTextColumn IsReadOnly="True" Header="UserName" Binding="{Binding UserName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"   Width="120" />

 <DataGridTextColumn IsReadOnly="True" Header="UserPwd" Binding="{Binding UserPwd,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="150"/>
            </DataGrid.Columns>

     </DataGrid>

namespace ManagementSystem
{
    public struct UserInfo
    {
        public int UserNum{ get; set; }
        public string UserName { get; set; }
        public string UserPwd { get; set; }

    }

public partial class App : Application
    {
        public static string modifyedDvcName ;
        public static List<UserInfo> userInfo = new List<UserInfo>();
        public static bool addUser;
    }

    private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {

                try
            {
                  UserManagement usermanagement = (UserManagement)this.Owner;
                  UserInfo user = new UserInfo();
                 user.UserNum = int.Parse(tboxUserNum.Text);
                 user.UserName = tboxUserName.Text;
                 user.UserPwd = tboxUserPwd.Text;
                 userInfo.Add(user);
                 usermanagement.dgUserInfo.ItemsSource = null;
                 usermanagement.dgUserInfo.ItemsSource = userInfo;
                 for (i = 0; i < userInfo.Count; i++)
                 {
                     if (user.UserNum != userInfo[i].UserNum)
                {
                    App.addUser = true;
                }
                else
                {
                    App.addUser = false;
                }
            }
            catch
            {
                MessageBox.Show("该用户编号已存在!", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Warning);
            }
        }

         

猜你喜欢

转载自blog.csdn.net/weixin_41619400/article/details/82751567