现在人年龄不大,记性却差的要命。对于我这么懒的小白。算了,我还是记一下吧……^-^……
一、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);
}
}