نقل قول: مشکل در لود مجدد اطلاعات
میشه کد قسمت مربوط به گرید ویو و پیوندش به بانک رو بنویسی شاید dataset رو کلین نکردی
نقل قول: مشکل در لود مجدد اطلاعات
نقل قول: مشکل در لود مجدد اطلاعات
شما فقط باید قبل از هر خواندن datatable را پاک کنید dt.Clear();
privatevoid btnReadMessage_Click(object sender, EventArgs e)
{
//read
dt.Clear();
Cursor.Current = Cursors.WaitCursor;
string storage = GetMessageStorage();
try
{
// Read all SMS messages from the storage
DecodedShortMessage[] messages = CommSetting.comm.ReadMessages(PhoneMessageStatus.All, storage);
foreach (DecodedShortMessage message in messages)
{
Output(string.Format("Message status = {0}, Location = {1}/{2}",
StatusToString(message.Status), message.Storage, message.Index));
ShowMessage(message.Data);
Output("");
}
Output(string.Format("{0,9} messages read.", messages.Length.ToString()));
Output("");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Cursor.Current = Cursors.Default;
}
نقل قول: مشکل در لود مجدد اطلاعات
در ضمن این پروژه دارای یک مشکل دیگه هم هست که در نحوه مطلع شدن از رسیدن sms با استفاده از کامپوننت GsmComm بهش ان شاء الله می پردازند
نقل قول: مشکل در لود مجدد اطلاعات
نمیدونم چرا به ذهنم نیفتاد همش تو فکر پاک کردن دیتا گرید بودم ولی من باید از ریشه حذفش می کردم
منظورم از اندیس اینه که یه ستونی رو بندازه که به ستون ها شماره بده و بتونی از شماره هاش استفاده کنی
راستی چطور میشه اس ام اس ها رو بر اساس تاریخ مرتب کرد.
نقل قول: مشکل در لود مجدد اطلاعات
اگر منظورتون از اندیس همان اضافه کردن یک ستون به نام ردیف است :ابتدا در یک متغیر سراسری مثلا int se=1تعریف کرده و سپس
private void Send_Load(object sender, System.EventArgs e)
{
chkMultipleTimes.Checked = true;
//read
dt.Columns.Add("ردیف", typeof(string));
dt.Columns.Add("Sender", typeof(string));
dt.Columns.Add("Time", typeof(string));
dt.Columns.Add("Message", typeof(string));
}
و سپس
private void BindGrid(SmsPdu pdu)
{//read
DataRow dr = dt.NewRow();
SmsDeliverPdu data = (SmsDeliverPdu)pdu;
dr[0] = se;
se++;
dr[1] = data.OriginatingAddress.ToString();
dr[2] = data.SCTimestamp.ToString();
dr[3] = data.UserDataText;
dt.Rows.Add(dr);
dataGrid1.DataSource = dt;
}
و درنهایت همان جایی که قبلا گفتیم dt را کلین کن se را هم 1 کن