صفحه اول

 

سلام

این سایت مخصوص برنامه نویسان حرفه ای می باشد.

------------------------

ما می خواهیم رکوردهایی که در dataGrideView انتخاب شده است را پاک کنیم (DataGrideiew متصل به یک DataTable)

 


            DataGridViewSelectedRowCollection q = dataGridView1.SelectedRows;
           
            
            for (int i = 0; i < q.Count; i++)
            {
                dt.Rows.Remove(dt.Rows.Find(q[i].Cells[0].Value));
            }

----------------------------------------------------------------------------

void GetSubString(string String, ref string S1, ref string S2, ref string S3)

        {

            int first = String.IndexOf('/');

            S3 = record.Substring(0, first));

            int last = String.LastIndexOf('/');

            if (last > first)

            {

                S2 = String.Substring(first + 1, last - first - 1);

                S3 = String.Substring(last + 1);

            }

            else

            {

                S2 = record.Substring(last + 1);

            }

        }

به  همین ترتیب با گسترش این حلقه به صورت پویا هر تعداد را جدا کرده و در درون یک آرایه قرار دهد.

------------------------

برای به دست آوردن اندازه تصویر مانیتور اصلی

MessageBox.Show("Monitor Size:" + SystemInformation.PrimaryMonitorSize);

و برای به دست آوردن اندازه تصویر مجازی

MessageBox.Show("VirtualScreen: " + SystemInformation.VirtualScreen);

------------------------


وارد کردن فقط عدد در تکست باکس (TextBox)

در موارد زیادی پیش می آد که لازم باشه کاربر فقط عدد رو تو یک تکست باکس وارد کنه ، برای این کار روشهای زیادی وجود داره اما یکی از آسونترین راهها و البته نه بهترین راه ، استفاده از تابع TryParseاست که در دات نت 2 وجود داره

البته راههای سریعتر و با بازده بهتری وجود داره که به دلیل راحت تر بودن این راه این راه رو برای شما آوردم

برای این کار در رویداد KeyPress  تکست باکس مورد نظر کد زیر را وارد کنید

private void InputNumber_KeyPress(object sender, KeyPressEventArgs e)

        {

            int isNumber = 0;

            e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber);

}

-------------------------

رنگ آميزي سطر هاي DataGridView به صورت يك در ميان

براي انجام اين كار DataGridView  به فرم خود اضافه كنيد و پارامترهاي ديتاي آن را تعيين كنيد ،‌سپس به  قسمت Properties برويد و به دنبال گزينه RowDefaultCellStyle بگرديد آن را باز كرده و موارد دلخواه را تنظيم نماييد  ، پس از انجام اين كار اگر دقت كنيد تمامي سطر هاي DataGridView به رنگ و Style تنظيمي شما در مي آيد ، حال دوباره به قسمت Properties  مراجعه كنيد و به دنبال گزينه AlternatingRowDefaultCellStyle بگرديد ، اين گزينه را باز كرده و Style  مورد نظر را تنظيم كرده ، يك بار پروژه را اجرا كنيد و نتيجه را ملاحظه كنيد

---------------------------------------------

شماره ی سطر دادن به نتیجه ی Query

با سلام متاسفانه به دلیل کمبود وقت یک مقاله از یکی از سایتهای فارسی زبان های برنامه نویسی براتون انتخاب کردم

در بسیاری از مواقع احتیاج داریم که به هر سطر از نتیجه ی Query یک شماره بدهیم. بطور مثال در تکنیک Paging (صفحه بندی) این موضوع الازمی است.

نرم افزار SQL Server 2005 یکسری توابعی به نام Ranking را معرفی کرد که این کار را به سادگی و زیبایی انجام می دهد. در ادامه این موضوع در نسخه ی 2000 و 2005 مورد بررسی قرار خواهد گرفت.

نسخه ی 2000

برای اینکه درک مساله ساده تر شود از یک مثال استفاده خواهد شد. ابتدا یک متغیر جدول با یک ستون تعریف کرده و تعدادی سطر در آن انتشار داده می شود (توجه کنید که از آخرین Syntax نرم افزار SQL Server استفاده شده است)

DECLARE @t TABLE (i INT);
INSERT @t VALUES (1), (3), (4), (8);
SELECT * FROM @t;
/*
i
---
1
3
4
8
*/

روش اول: تابع IDENTITY INTO

SELECT *, IDENTITY (INT, 1, 1) AS ID
INTO #temp
FROM @t;

SELECT *
FROM #temp;

/*
i            ID
----------- -----------
1            1
3            2
4            3
8            4
*/

این تابع که همراه با ماده ی INTO استفاده می شود به نتیجه ی کوئری یک ستون IDENTITY اضافه کرده و نتیجه ی حاصل را در یک جدول جدید درج می کند.

 

روش دوم: خصیصه ی IDENTITY

DECLARE @table TABLE (i INT, ID INT IDENTITY);
INSERT INTO @table SELECT * FROM @t

SELECT * FROM @table
/*
i    ID
--- ----
1    1
3    2
4    3
8    4
*/

ابتدا یک متغیر جدولی با ساختار جدول اصلی و یک ستون اضافی با خصیصه ی IDENTITY تعریف نموده سپس با کمک دستور INSERT SELECT تمام سطرها جدول را در متغیر جدولی درج می کنیم.

 

نسخه ی 2005/2008

SELECT *, ID = ROW_NUMBER() OVER(ORDER BY i ASC)
FROM @t

تابع ROW_NUMBER بدون PARTITION به هر سطر از جدول یک شماره که از 1 آغاز شده و یکی یکی افزایش پیدا می کند خواهد داد. ترتیب نیز بر اساس صعودی ستون i خواهد بود

   

 


گزارش تخلف
بعدی