八:员工表的设计(数据绑定) DisplayMemberPath=" " 13401089876
T_Department Id Name IsStopped
T_Employee //很多项目不建外键
员工表的增删改查
EditUI
ListAll()GetById(),Update(),Insert()
EditingId;IsAddNew;
window_Load()
{
新增(默认值的设定),修改判断
myGrid.DataContent=...
}
txtSave_Click()
{
判断有无空字符串
新增()
修改()
}
ListUI
window_Load(){}
private void LoadData(){}
//把老师的代码看懂了,只理解了10%
bool IsOK=true;//数据检验是否通过,每个控件只能投反对票
if(txtName.TRext.Length<=0)
{
IsOK=false;
txtName.Background=Brushes.Red; //杨中科:bbs.itheima.com,abount521@163.com,某某申请认证VIP
}
//检验是否有空字符串。(反射)
private void CheckTextboxNotEmpty(ref bool isOK,params TextbOX[] TEXTBOXS){}
{
foreach(TextBox txtBox in TEXTBOXS))
{
if(txtBox.Length<=0)
{
isOK=false;
txtBox.Background=Brushes.Red;
}
else
{
txtBox.Background=null;
}
}
}
九、员工照片的处理
(1)照片的二进制数据保存在DB
(2)把img存放至服务器中,img中存放于DB中
photo: image类型
在ado.net 对应byte[],放二进制的。
btnChoosePhoto_Click()
{
OpenFileDialog ofd=new....();
ofd.Filter="....";
if(ofd.ShowDilog()==true)
{
string filename=.....;
Employee employee=new...;
employee.Photo=File.ReadAllBytes(filename);//读取文件的二进制数据
imgPhoto.Source=new BitmapImage(new uri(filename));
}
}
照片在Load时就显示了:
MemoryStream stream=new MemoryStream (emp.Photo);
BitmapImage bmpImg=new BitmapImage();
bmpImg.StreamSource=stream;
imgPhoto.Source=bmpImg
十、摄像头给员工拍照:
第三方开发包,开源组件(WPFMediaKit.dll)
(1)在xaml中添加类
(2)VideoCaptureElement显示预览的画面
<CheckBox name="cb"></CheckBox>
<wpfedia:VideoCaptureElement name="vce">
</wpfedia:VideoCaptureElement>
<button name="btnCapture"></button>
window_Load()
{
//获得摄像头;
cb.ItemSource=MultimediaUtil.VideoInputNames;
if(MultimediaUtil.VideoInputNames>0)
{
cb.SelectedIndex=0;
}
else
{
没有摄像头
}
}
cb_SelectionChangeed()
{
vce.VideoCaptureSource=(string)cb.selectedItem;
}
btnCapture_Click()
{
把控件的内容抓取出来
}
拍的图片的二进制流
未完待续。。。。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)