mohammadian7
یک شنبه 19 تیر 1390, 23:05 عصر
سلام من فرمی برای ثبت اطلاعات کتاب دارم که قسمت خاکستری مربوط به جستجوست برای عملیات ذخیره و حذف و ویرایش
و کل اتفاقات ذخیره حذف و ویرایش در همین فرم اتفاق میفته با تغییر در نمایش دکمه ها البته.
کد زیر برای قسمت btnisbnsearch است.
الان مشکل اینجاست که من برای عملیات حذف و ویرایش قسمت اطلاعات اضافی هر کتاب نمیدونم قسمت cbobooksearch رو چه جوری بر اساس فیلد isbn پر کنم.یعنی کد کتاب رو برای یونیک بودنش اومدم از isbn که جزو اطلاعات اصلی کتابه + _+یه متغیر که زیاد میشه درست کردم. اینجوری جستجوش بر اساس isbn راحت تره.
الان با این کد زیر وقتی txtisbnsearch رو وارد میکنم cbobookcode همه کد های کتابی که تا الان ذخیره شده را نشان میده
private void txtIsbnSearch_TextChanged(object sender, EventArgs e)
{
//cboBookCode.Items.Clear();
cboBookCode.Text = "";
decimal value;
if (!(Decimal.TryParse(txtIsbnSearch.Text, out value)) || txtIsbnSearch.Text.Length==14)
{
SendKeys.SendWait("{BACKSPACE}");
}
else if (txtIsbnSearch.TextLength < 13) {
clearbookinfo();
Isbn.Text = "";
Topic.Text = "";
Title.Text = "";
Publisher.Text = "";
Author.Text = "";
//cboBookCode.Items.Clear();
var hich = new LINQDataContext();
gvMainBook.DataSource = hich;
gvBook.DataSource = hich;
}
else if (txtIsbnSearch.TextLength == 13)
{
var db = new LINQDataContext();
var query = (from x in db.tbl_Mainbooks where txtIsbnSearch.Text == x.Isbn select x);
gvMainBook.DataSource = query;
if (gvMainBook.RowCount > 0)
{
Isbn.Text = gvMainBook.CurrentRow.Cells["Isbn"].Value.ToString();
Author.Text = gvMainBook.CurrentRow.Cells["Auther"].Value.ToString();
Title.Text = gvMainBook.CurrentRow.Cells["Title"].Value.ToString();
Topic.Text = gvMainBook.CurrentRow.Cells["Topic"].Value.ToString();
Publisher.Text = gvMainBook.CurrentRow.Cells["Pid"].Value.ToString();
}
clearbookinfo();
var dbinfo = new LINQDataContext();
var bank = new LINQDataContext();
var q = from t in bank.tbl_Books select new {t.Code };
foreach (var row in q)
cboBookCode.Items.Add(row.Code);
if (cboBookCode.Items.Count == 0)
Code.Text = 1 + "_" + txtIsbnSearch.Text;
else
{
string item = (from x in dbinfo.tbl_Books orderby x.Code descending select x.Code).FirstOrDefault();
int i = Convert.ToInt32(dbinfo.tbl_Books.Max(x => x.Code).Substring(14).ToString());
Code.Text = ++i + "_" + txtIsbnSearch.Text;
}
cboBookCode.Items.Clear();
}
Isbn.Text = txtIsbnSearch.Text;
}
و کل اتفاقات ذخیره حذف و ویرایش در همین فرم اتفاق میفته با تغییر در نمایش دکمه ها البته.
کد زیر برای قسمت btnisbnsearch است.
الان مشکل اینجاست که من برای عملیات حذف و ویرایش قسمت اطلاعات اضافی هر کتاب نمیدونم قسمت cbobooksearch رو چه جوری بر اساس فیلد isbn پر کنم.یعنی کد کتاب رو برای یونیک بودنش اومدم از isbn که جزو اطلاعات اصلی کتابه + _+یه متغیر که زیاد میشه درست کردم. اینجوری جستجوش بر اساس isbn راحت تره.
الان با این کد زیر وقتی txtisbnsearch رو وارد میکنم cbobookcode همه کد های کتابی که تا الان ذخیره شده را نشان میده
private void txtIsbnSearch_TextChanged(object sender, EventArgs e)
{
//cboBookCode.Items.Clear();
cboBookCode.Text = "";
decimal value;
if (!(Decimal.TryParse(txtIsbnSearch.Text, out value)) || txtIsbnSearch.Text.Length==14)
{
SendKeys.SendWait("{BACKSPACE}");
}
else if (txtIsbnSearch.TextLength < 13) {
clearbookinfo();
Isbn.Text = "";
Topic.Text = "";
Title.Text = "";
Publisher.Text = "";
Author.Text = "";
//cboBookCode.Items.Clear();
var hich = new LINQDataContext();
gvMainBook.DataSource = hich;
gvBook.DataSource = hich;
}
else if (txtIsbnSearch.TextLength == 13)
{
var db = new LINQDataContext();
var query = (from x in db.tbl_Mainbooks where txtIsbnSearch.Text == x.Isbn select x);
gvMainBook.DataSource = query;
if (gvMainBook.RowCount > 0)
{
Isbn.Text = gvMainBook.CurrentRow.Cells["Isbn"].Value.ToString();
Author.Text = gvMainBook.CurrentRow.Cells["Auther"].Value.ToString();
Title.Text = gvMainBook.CurrentRow.Cells["Title"].Value.ToString();
Topic.Text = gvMainBook.CurrentRow.Cells["Topic"].Value.ToString();
Publisher.Text = gvMainBook.CurrentRow.Cells["Pid"].Value.ToString();
}
clearbookinfo();
var dbinfo = new LINQDataContext();
var bank = new LINQDataContext();
var q = from t in bank.tbl_Books select new {t.Code };
foreach (var row in q)
cboBookCode.Items.Add(row.Code);
if (cboBookCode.Items.Count == 0)
Code.Text = 1 + "_" + txtIsbnSearch.Text;
else
{
string item = (from x in dbinfo.tbl_Books orderby x.Code descending select x.Code).FirstOrDefault();
int i = Convert.ToInt32(dbinfo.tbl_Books.Max(x => x.Code).Substring(14).ToString());
Code.Text = ++i + "_" + txtIsbnSearch.Text;
}
cboBookCode.Items.Clear();
}
Isbn.Text = txtIsbnSearch.Text;
}